Infrastructure Manager REST API Configuration

This topic describes the parameters used to configure the Infrastructure Manager REST API.

  • info.app.name

    The application name.

    Example: Infrastructure Manager REST API

    Note: This information can be retrieved from the /api/v2/management/info endpoint.

  • info.app.description

    Short description of the application.

    Example: The Infrastructure Manager API is built on HTTP and JSON. Therefore, any standard HTTP client can send requests to it and parse the responses. It enables full-stack environment provisioning.

    Note: This information can be retrieved from the /api/v2/management/info endpoint.

  • info.app.version

    Application version.

    Example: 1.0.0

    Note: This information can be retrieved from the /api/v2/management/info endpoint.

  • info.app.build

    Application build number.

    Example: 1500

    Note: This information can be retrieved from the /api/v2/management/info endpoint.

  • server.port

    Port of the server.

    Example: 9000

  • server.servlet.context-path

    Context path to the application.

    Example: /provisioning

  • server.ssl.key-store

    Location of TLS/SSL key-store file to enable TLS/SSL.

    Important! Delete this configuration if you do not want to enable TLS/SSL.

    Example: C:\Program Files\InfrastructureManager\im_keystore.p12

  • server.ssl.key-store-password

    The password of the key-store file.

    Example: '{cipher}303d64ee49308ec9dd906491aa035de73c781a16b2ff79bdecde0e46a30d83ac'

    Note: This parameter can be encrypted with the tool located in the /tools/spring-2.0.8.RELEASE/bin folder. The encrypted password must be stored inside Encrypted password should be inside '{cipher} ...'. For more information, see: Encrypting Data in the Application Configuration File

  • spring.datasource.driverClassName

    The driver class name of the data source.

    Example: org.postgresql.Driver

  • spring.datasource.username

    User account to access the database.

    Example: im-db-user

  • spring.datasource.password

    Password of the user to access the database.

    Example: im-db-password

    Note: This parameter can be encrypted with the tool located in the /tools/spring-2.0.8.RELEASE/bin folder. The encrypted password must be stored inside Encrypted password should be inside '{cipher} ...'. For more information, see: Encrypting Data in the Application Configuration File

  • spring.datasource.url

    Connection string to the database.

    Example: jdbc:postgresql://localhost:5432/provisioning_rest_api

  • spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation

    Fix Postgres JPA Error.

    Important! This configuration should not be changed.

    Note: the org.postgresql.jdbc.PgConnection.createClob() method is not implemented yet.

    Example: true

  • spring.jpa.hibernate.jdbc.lob.non_contextual_creation

    Fix Postgres JPA Error.

    Important! This configuration should not be changed.

    Note: the org.postgresql.jdbc.PgConnection.createClob() method is not implemented yet.

    Example: true

  • spring.jpa.hibernate.ddl-auto

    Property used by Hibernate for DDL generation.

    Important!

    • This configuration should not be changed.
    • In the production environment, do not use the create/update/create-drop options, since this will drop or make changes in the database.
    • The validate option is used to ensure that the database is matched with the product only.

    Possible values:

    • create: Hibernate first drops existing tables, and then creates new ones.
    • update: The object model created based on the mappings (annotations or XML) is compared with the existing schema. Then, Hibernate updates the schema according to the diff. The existing tables or columns are never deleted, even if they are no longer required by the application.
    • create-drop: similar to create, with the addition that Hibernate drops the database after all operations are completed. Typically used for unit testing.
    • validate: Hibernate only validates whether the tables and columns exist, otherwise, it throws an exception.
    • none: This value turns off the DDL generation.

    Example: validate

  • spring.jpa.hibernate.dialect

    Sets up the Hibernate Dialect to work with the database.

    Example: org.hibernate.dialect.PostgreSQLDialect

  • spring.jpa.show-sql

    If configured, it shows the SQL command in the log file when the application is running.

    Possible values: true, false

    Example: false

  • spring.mvc.throw-exception-if-no-handler-found

    If configured, an error is returned when a call to an "Unknown" endpoint is sent.

    Important! This configuration should not be changed.

    Possible values: true, false

    Example: true

  • spring.mvc.static-path-pattern

    If configured, it enables the Swagger document for the REST API.

    Important! This configuration should not be changed.

    Example: /swagger*

  • spring.resources.static-locations

    If configured, it enables the Swagger document for the REST API.

    Example: classpath:/swagger*

  • logging.file.name

    Path to the application log.

    Example: logs/InfrastructureManager.log

  • logging.level.root

    Log level.

    Example: INFO

  • logging.level.io.swagger.models.parameters.AbstractSerializableParameter

    Workaround for a bug of Swagger that raises the warning message when there is no default value for the integer API parameter.

    Important! This configuration should not be changed.

    Example: ERROR

  • management.endpoints.web.base-path

    This parameter configures the URL path to enable some default rest endpoints to manage the application

    Important! This configuration should not be changed.

    Example: /api/v2/management

  • management.endpoints.web.exposure.include

    This parameter enables the management endpoints.

    Important! This configuration should not be changed.

    Possible values:

    • /api/v2/management/health
    • /api/v2/management/info
    • /api/v2/management/logfile

    Example: health

  • imPath

    The Infrastructure Management working folder, holding execution logs, templates and other resources required for its operation.

    Example: data

  • rest-api-paging-max-results

    Paging setup for querying endpoints.

    Example: 20

  • template-collector.max-update-time

    Maximum time (in seconds) for updating the template repository

    Example: 900