REST API Reference > Platform REST API version 3 resources > Elastic runtime environments
  

Elastic runtime environments

Use this resource to get advanced configuration details for an elastic runtime environment, or to create or update an advanced configuration. You can also read the link between the advanced configuration and the runtime environment.
Use the ClusterConfig resource to create and manage the advanced configuration for an elastic runtime environment through the command line.
You can send the following requests:

Getting advanced configuration details

You can request the details for a specific advanced configuration.

GET request

To get advanced configuration details, use the following URI:
/public/core/v3/ClusterConfig/<advanced_config_id>

GET response

If successful, returns the following information for an advanced configuration:
Field
Type
Description
id
String
Advanced configuration ID.
orgId
String
ID of the organization the advanced configuration belongs to.
infaManaged
Boolean
Whether the advanced configuration is managed by Informatica.
clusterName
String
Name of the advanced configuration.
description
String
Description of the advanced configuration.
cloudPlatform
String
Cloud platform hosting the advanced configuration.
haEnabled
Boolean
Whether high availability is enabled.
region
String
Region in which the advanced configuration is located.
subnets
Array
Subnets used within the network.
masterNodeInstanceType
String
Instance type to host the master node.
maxWorkerNodes
Integer
Maximum number of worker nodes to use.
minWorkerNodes
Integer
Minimum number of worker nodes to use.
workerNodeIdleTimeout
Integer
Amount of time in minutes before a worker node times out.
workerNodeInstanceType
String
Instance type to host a worker node.
workerNodeVolumeSize
Integer
Volume size of a worker node.
systemDiskConfig
Escaped string representation of JSON
Properties of the system storage, if configured. Includes the file system, source mount, and access point.
dataDisksConfig
Escaped string representation of JSON
Properties of the data storage, if configured. Includes the file system, source mount, and access point.
initScriptPath
String
Amazon S3 file path of the initialization script to run on each cluster node when the node is created, in the format: <bucket name>/<folder name>.
The script can reference other init scripts in the same folder or in a subfolder. Script is a bash script.
masterNodeIAMRole
String
IAM role for the master node.
workerNodeIAMRole
String
IAM role for the worker nodes.
imageRegistryHost
String
Domain name or IP address of the registry hosting the container images.
imageRegistryUser
String
User name to log into the image registry host.
imageRegistryPassword
String
Password to log into the image registry host.
dateDeployed
Date
Date when the image was deployed.
miscTags
Escaped string representation of JSON
Tags associated with the cloud ecosystem.

GET response example

To get advanced configuration details, use the following request:
GET <baseApiUrl>/public/core/v3/ClusterConfig/<advanced_config_id>
Content-type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
If successful, you receive a response similar to the following example:
[
{
"id": "5MdLmj0YXoce2osMD2mT0r",
"orgId": "dx7DSOIGiiPh6XQoZKpAmC",
"infaManaged": false,
"clusterName": "test-cluster",
"description": "Description of the cluster",
"cloudPlatform": "AWS",
"haEnabled": false,
"region": "us-west-1",
"subnets": [
"subnet-1",
"subnet-2"
],
"masterNodeInstanceType": "m5.large",
"maxWorkerNodes": 10,
"minWorkerNodes": 1,
"workerNodeIdleTimeout": 5,
"workerNodeInstanceType": "m5.xlarge",
"workerNodeVolumeSize": 100,
"systemDiskConfig": "{\"id\": \"\", \"sourceMount\": \"\", \"accessPoint\": \"\"}",
"dataDisksConfig": "[{\"id\": \"\", \"sourceMount\": \"\", \"targetMount\": \"\", \"accessPoint\": \"\"}]",
"initScriptPath": "/path/to/script",
"masterNodeIAMRole": "masterRole",
"workerNodeIAMRole": "workerRole",
"imageRegistryHost": "registry.example.com",
"imageRegistryUser": null,
"imageRegistryPassword": null,
"dateDeployed": null,
"miscTags": "{\"cloudEcosystemTags\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}],\"runtimeProperties\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}]}"
}
]

Creating an advanced configuration

If you have administrator privileges, you can use the ClusterConfig resource to create an advanced configuration.

POST request

To create a user group, send a POST request using the following URI:
/public/core/v3/ClusterConfig
Include the following information:
Field
Type
Required
Description
orgId
String
Yes
ID of the organization the advanced configuration belongs to.
infaManaged
Boolean
Yes
Whether the advanced configuration is managed by Informatica.
Note: While the elastic runtime environment feature is in preview, the infaManaged field is always false.
clusterName
String
Yes
Name of the advanced configuration.
description
String
-
Description of the advanced configuration.
cloudPlatform
String
Yes
Cloud platform hosting the advanced configuration. Currently this is AWS.
haEnabled
Boolean
Yes
Whether high availability is enabled.
region
String
Yes
Region in which the advanced configuration is located.
subnets
Array
Yes
Subnets used within the network.
Note: While the elastic runtime environment feature is in preview, the subnets field is dependent on the haEnabled field:
  • - If haEnabled = true, subnets should have two values.
  • - If haEnabled = false, subnets should be empty or null.
masterNodeInstanceType
String
Yes
Instance type to host the master node.
Note: While the elastic runtime environment feature is in preview, the master node instance type should be left empty because the cluster installer is always run on the master node.
maxWorkerNodes
Integer
Yes
Maximum number of worker nodes to use.
minWorkerNodes
Integer
Yes
Minimum number of worker nodes to use.
workerNodeIdleTimeout
Integer
Yes
Amount of time in minutes before a worker node times out.
workerNodeInstanceType
String
Yes
Instance type to host a worker node.
workerNodeVolumeSize
Integer
Yes
Volume size of a worker node.
systemDiskConfig
Escaped string representation of JSON
Yes
Properties of the system storage, if configured. Includes the file system, source mount, and access point.
dataDisksConfig
Escaped string representation of JSON
Yes
Properties of the data storage, if configured. Includes the file system, source mount, and access point.
initScriptPath
String
Yes
Amazon S3 file path of the initialization script to run on each cluster node when the node is created. Use the format: <bucket name>/<folder name>.
The script can reference other init scripts in the same folder or in a subfolder. Script must be a bash script.
masterNodeIAMRole
String
Yes
IAM role for the master node.
workerNodeIAMRole
String
-
IAM role for the worker nodes.
Note: While the elastic runtime environment feature is in preview, the workerNodeIAMRole is not used.
imageRegistryHost
String
-
Domain name or IP address of the registry hosting the container images.
Note: While the elastic runtime environment feature is in preview, the imageRegistryHost is not used.
imageRegistryUser
String
-
User name to log into the image registry host.
Note: While the elastic runtime environment feature is in preview, the imageRegistryUser is not used.
imageRegistryPassword
String
-
Password to log into the image registry host.
Note: While the elastic runtime environment feature is in preview, the imageRegistryPassword is not used.
dateDeployed
Date
-
Leave this field empty.
miscTags
Escaped string representation of JSON
Yes
Cloud ecosystem tags and runtime properties.
Each tag category is required, but their values can be empty. For example:
"miscTags": "{\"cloudEcosystemTags\":[],\"runtimeProperties\":[]}"

POST response

If successful, returns the ClusterConfig object in the POST request.

POST example

To create an advanced configuration, send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/ClusterConfig
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"orgId": "dx7DSOIGiiPh6XQoZKpAmC",
"infaManaged": false,
"clusterName": "test-cluster-102",
"description": "Description of the cluster",
"cloudPlatform": "AWS",
"haEnabled": false,
"region": "ap-south-1",
"subnets": [
"subnet-1",
"subnet-2"
],
"masterNodeInstanceType": "",
"maxWorkerNodes": 10,
"minWorkerNodes": 1,
"workerNodeIdleTimeout": 5,
"workerNodeInstanceType": "c4.2xlarge",
"workerNodeVolumeSize": 100,
"systemDiskConfig": "{\"id\": \"\", \"sourceMount\": \"\", \"accessPoint\": \"\"}",
"dataDisksConfig": "[{\"id\": \"\", \"sourceMount\": \"\", \"targetMount\": \"\", \"accessPoint\": \"\"}]",
"initScriptPath": "/path/to/script",
"masterNodeIAMRole": "masterRole",
"workerNodeIAMRole": "workerRole",
"imageRegistryHost": "registry.example.com",
"imageRegistryUser": "user",
"imageRegistryPassword": "password",
"dateDeployed": null,
"miscTags": "{\"cloudEcosystemTags\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}],\"runtimeProperties\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}]}"
}
You receive a response similar to the following example:
{
"id": "89Dnw937Al30sN40ia9Oat",
"orgId": "dx7DSOIGiiPh6XQoZKpAmC",
"infaManaged": false,
"clusterName": "test-cluster-102",
"description": "Description of the cluster",
"cloudPlatform": "AWS",
"haEnabled": false,
"region": "ap-south-1",
"subnets": [
"subnet-1",
"subnet-2"
],
"masterNodeInstanceType": "",
"maxWorkerNodes": 10,
"minWorkerNodes": 1,
"workerNodeIdleTimeout": 5,
"workerNodeInstanceType": "c4.2xlarge",
"workerNodeVolumeSize": 100,
"systemDiskConfig": "{\"id\": \"\", \"sourceMount\": \"\", \"accessPoint\": \"\"}",
"dataDisksConfig": "[{\"id\": \"\", \"sourceMount\": \"\", \"targetMount\": \"\", \"accessPoint\": \"\"}]",
"initScriptPath": "/path/to/script",
"masterNodeIAMRole": "masterRole",
"workerNodeIAMRole": "workerRole",
"imageRegistryHost": "registry.example.com",
"imageRegistryUser": "user",
"imageRegistryPassword": "password",
"dateDeployed": null,
"miscTags": "{\"cloudEcosystemTags\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}],\"runtimeProperties\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}]}"
}

Updating an advanced configuration

If you have administrator privileges, you can use the ClusterConfig resource to update an advanced configuration.

PUT request

To create a user group, send a PUT request using the following URI:
/public/core/v3/ClusterConfig/<advanced_config_ID>
Include the following information:
Field
Type
Required
Description
ID
String
Yes
Advanced configuration ID.
orgId
String
Yes
ID of the organization the advanced configuration belongs to.
infaManaged
Boolean
Yes
Whether the advanced configuration is managed by Informatica.
Note: While the elastic runtime environment feature is in preview, the infaManaged field is always false.
clusterName
String
Yes
Name of the advanced configuration.
description
String
-
Description of the advanced configuration.
cloudPlatform
String
Yes
Cloud platform hosting the advanced configuration. Currently this is AWS.
haEnabled
Boolean
Yes
Whether high availability is enabled.
region
String
Yes
Region in which the advanced configuration is located.
subnets
Array
Yes
Subnets used within the network.
Note: While the elastic runtime environment feature is in preview, the subnets field is dependent on the haEnabled field:
  • - If haEnabled = true, subnets should have two values.
  • - If haEnabled = false, subnets should be empty or null.
masterNodeInstanceType
String
Yes
Instance type to host the master node.
Note: While the elastic runtime environment feature is in preview, the master node instance type should be left empty because the cluster installer is always run on the master node.
maxWorkerNodes
Integer
Yes
Maximum number of worker nodes to use.
minWorkerNodes
Integer
Yes
Minimum number of worker nodes to use.
workerNodeIdleTimeout
Integer
Yes
Amount of time in minutes before a worker node times out.
workerNodeInstanceType
String
Yes
Instance type to host a worker node.
workerNodeVolumeSize
Integer
Yes
Volume size of a worker node.
systemDiskConfig
Escaped string representation of JSON
Yes
Properties of the system storage. Includes the file system, source mount, and access point.
dataDisksConfig
Escaped string representation of JSON
Yes
Properties of the data storage. Includes the file system, source mount, and access point.
initScriptPath
String
Yes
Amazon S3 file path of the initialization script to run on each cluster node when the node is created. Use the format: <bucket name>/<folder name>.
The script can reference other init scripts in the same folder or in a subfolder. Script must be a bash script.
masterNodeIAMRole
String
Yes
IAM role for the master node.
workerNodeIAMRole
String
-
IAM role for the worker nodes.
Note: While the elastic runtime environment feature is in preview, the workerNodeIAMRole is not used.
imageRegistryHost
String
-
Domain name or IP address of the registry hosting the container images.
Note: While the elastic runtime environment feature is in preview, the imageRegistryHost is not used.
imageRegistryUser
String
-
User name to log into the image registry host.
Note: While the elastic runtime environment feature is in preview, the imageRegistryUser is not used.
imageRegistryPassword
String
-
Password to log into the image registry host.
Note: While the elastic runtime environment feature is in preview, the imageRegistryPassword is not used.
dateDeployed
Date
-
Leave this field empty.
miscTags
Escaped string representation of JSON
Yes
Cloud ecosystem tags and runtime properties.
Each tag category is required, but their values can be empty. For example:
"miscTags": "{\"cloudEcosystemTags\":[],\"runtimeProperties\":[]}"

PUT response

If successful, returns the ClusterConfig object in the PUT request.

PUT example

To updated an advanced configuration, send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/ClusterConfig/<advanced_config_ID>
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"id": "89Dnw937Al30sN40ia9Oat",
"orgId": "dx7DSOIGiiPh6XQoZKpAmC",
"infaManaged": false,
"clusterName": "test-cluster-102",
"description": "Description of the cluster",
"cloudPlatform": "AWS",
"haEnabled": false,
"region": "ap-south-1",
"subnets": [
"subnet-1",
"subnet-2"
],
"masterNodeInstanceType": "",
"maxWorkerNodes": 10,
"minWorkerNodes": 1,
"workerNodeIdleTimeout": 5,
"workerNodeInstanceType": "c4.2xlarge",
"workerNodeVolumeSize": 100,
"systemDiskConfig": "{\"id\": \"\", \"sourceMount\": \"\", \"accessPoint\": \"\"}",
"dataDisksConfig": "[{\"id\": \"\", \"sourceMount\": \"\", \"targetMount\": \"\", \"accessPoint\": \"\"}]",
"initScriptPath": "/path/to/script",
"masterNodeIAMRole": "masterRole",
"workerNodeIAMRole": "workerRole",
"imageRegistryHost": "registry.example.com",
"imageRegistryUser": null,
"imageRegistryPassword": "null",
"dateDeployed": null,
"miscTags": "{\"cloudEcosystemTags\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}],\"runtimeProperties\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}]}"
}
You receive a response similar to the following example:
{
"id": "89Dnw937Al30sN40ia9Oat",
"orgId": "dx7DSOIGiiPh6XQoZKpAmC",
"infaManaged": false,
"clusterName": "test-cluster-102",
"description": "Description of the cluster",
"cloudPlatform": "AWS",
"haEnabled": false,
"region": "ap-south-1",
"subnets": [
"subnet-1",
"subnet-2"
],
"masterNodeInstanceType": "",
"maxWorkerNodes": 10,
"minWorkerNodes": 1,
"workerNodeIdleTimeout": 5,
"workerNodeInstanceType": "c4.2xlarge",
"workerNodeVolumeSize": 100,
"systemDiskConfig": "{\"id\": \"\", \"sourceMount\": \"\", \"accessPoint\": \"\"}",
"dataDisksConfig": "[{\"id\": \"\", \"sourceMount\": \"\", \"targetMount\": \"\", \"accessPoint\": \"\"}]",
"initScriptPath": "/path/to/script",
"masterNodeIAMRole": "masterRole",
"workerNodeIAMRole": "workerRole",
"imageRegistryHost": "registry.example.com",
"imageRegistryUser": null,
"imageRegistryPassword": "null",
"dateDeployed": null,
"miscTags": "{\"cloudEcosystemTags\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}],\"runtimeProperties\":[{\"key\":\"k1\",\"val\":\"v1\"},{\"key\":\"k2\",\"val\":\"v2\"}]}"
}

Reading a cluster runtime environment association by runtime environment identifier

You can request details about the association between an advanced cluster and the runtime environment, using the runtime environment identifier.

GET request

To get the association between the advanced configuration and the runtime environment, use the following URI:
/public/core/v3/RuntimeEnvironment/<rte_id>/Cluster
Where <rte_id> is the runtime environment identifier.

GET response

If successful, you receive a response similar to the following example:
Field
Type
Description
rteId
String
Runtime environment ID.
clusterId
String
Advanced configuration ID.
namespace
String
Namespace used.
createdBy
String
Name of the user who created the association.

GET response example

To get the association between the advanced configuration and runtime environment, use the following request:
GET <baseApiUrl>/public/core/v3/RuntimeEnvironment/<rte_id>/Cluster
Content-type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
If successful, you receive the following response:
{
"rteId": "01B0IV2500000000035Y",
"clusterId": "5gic8zWc1G7fSDQVJRpUEh",
"namespace": "test-namespace-1",
"createdBy": "test-user-1"
}

Reading a cluster runtime environment association by cluster identifier

You can request details about the association between an advanced cluster and the runtime environment, using the advanced configuration identifier.

GET request

To get the association between the advanced configuration and the runtime environment, use the following URI:
/public/core/v3/RuntimeEnvironment/<cluster_id>/Cluster
Where <cluster_id> is the advanced configuration identifier.

GET response

If successful, returns the following information:
Field
Type
Description
rteId
String
Runtime environment ID.
clusterId
String
Advanced configuration ID.
namespace
String
Namespace used.
createdBy
String
Name of the user who created the association.

GET response example

To get the association between the advanced configuration and runtime environment, use the following request:
GET <baseApiUrl>/public/core/v3/RuntimeEnvironment/<cluster_id>/Cluster
Content-type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
If successful, you receive a response similar to the following example:
{
"rteId": "01B0IV2500000000035Y",
"clusterId": "5gic8zWc1G7fSDQVJRpUEh",
"namespace": "test-namespace-1",
"createdBy": "test-user-1"
}

Associating an advanced configuration with a runtime environment

You can associate an advanced cluster with a runtime environment.

POST request

To associate an advanced configuration with a runtime environment, use the following URI:
/public/core/v3/RuntimeEnvironment/<rte_id>/Cluster/<cluster_id>
Where <rte_id> is the runtime identifier identifier and <cluster_id> is the advanced configuration identifier.
Include the following information:
Field
Type
Required
Description
namespace
String
Namespace of the advanced configuration.

POST response

If successful, returns the following information:
Field
Type
Description
rteId
String
Runtime environment ID.
clusterId
String
Advanced configuration ID.
namespace
String
Namespace used.
createdBy
String
Name of the user who created the association.

POST response example

To associate an advanced configuration and runtime environment, use the following request:
GET <baseApiUrl>/public/core/v3/RuntimeEnvironment/<rte_id>/Cluster/<cluster_id>
Content-type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
If successful, you receive a response similar to the following example:
{
"rteId": "01B0IV2500000000035Y",
"clusterId": "5gic8zWc1G7fSDQVJRpUEh",
"namespace": "test-namespace-1",
"createdBy": "test-user-1"
}