Clusters API
Use the Clusters API to create and manage your existing Imply clusters. To modify an existing cluster, you can overwrite or update its configuration. When overwriting a cluster, provide a complete cluster configuration for which to replace your cluster. When updating a cluster, you can specify a partial configuration, such as to update a single property or subset of properties.
With the Clusters API you can accomplish the following:
- Create a cluster
- Delete a cluster
- Get a cluster
- List clusters
- Overwrite cluster configuration
- Update a cluster
All URIs are relative to
https://{vanity_domain}.implycloud.com/api/v1
Create a cluster
URL
POST /clusters
Parameters
Query parameters
prettytype: Boolean
Pretty print the results. (default: false)dryRuntype: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)
Request body
Clustertype: Cluster required
Configuration of the cluster to be created.
Responses
A successful request returns an HTTP 2XX status code and a JSON response body of type Cluster.
Dry run validated.
Request accepted.
Invalid request payload.
Example body:
{
"error" : {
"code" : "BadArgument",
"message" : "Request contains invalid arguments",
"details" : [
{
"code" : "NullValue",
"target" : "metadata.name",
"message" : "Cluster name must not be null"
},
{
"code" : "MalformedValue",
"target" : "spec.deepStorage.path",
"message" : "Path is not a valid s3 path"
}
]
}
}
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Sample request
curl --location --request POST 'https://{vanity_domain}.implycloud.com/api/v1/clusters?pretty=true&dryRun=true' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <Bearer Token>' \
--data-raw '<Cluster configuration>'
Sample response
Toggle to show sample response
{
"metadata" : {
"name" : "My First Cluster"
"uid" : "ffd5ea0f-5018-4649-97ee-1ddb0f8a2c53",
},
"spec" : {
"version" : "version",
"desiredState" : "STARTED",
"awsInstanceRole" : "aws-instance-role",
"awsKeyPair" : "aws-key-pair",
"awsTags" : [
{
"name" : "tag-1",
"value" : "tag-1-value"
},
{
"name" : "tag-2",
"value" : "tag-2-value"
}
],
"encryptVolumes" : true,
"commonRuntimeProperties": [
{
"name": "common.druid.prop",
"value": "value1"
}
],
"master": {
"replicas": 3,
"instanceType": "t2.small",
"coordinatorRuntimeProperties": [
{
"name": "coordinator.druid.prop",
"value": "value1"
}
],
"overlordRuntimeProperties": [
{
"name": "master.druid.property",
"value": "value"
}
]
},
"query": {
"replicas": 2,
"instanceType": "t2.small",
"brokerRuntimeProperties": [
{
"name": "broker.druid.property",
"value": "value"
}
],
"routerRuntimeProperties": [
{
"name": "router.druid.property",
"value": "value"
}
],
"pivotConfiguration": "serverRoot: test\nuserMode: native"
},
"data": {
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
],
"tier1": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier2": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier3": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
}
},
"metadataStore": {
"instanceType": "db.t2.small",
"diskSize": 20,
"backupRetention": 14,
"monitoring": true,
"encrypt": true
},
"pivot": {
"accessMode": "PROXIED"
},
"deepStorage": {
"path": "s3://my-bucket/my-prefix",
"encrypt": true
},
"druidExtensions" : [
"druid-extension-1",
"druid-extension-2"
],
"featureFlags" : [
"featureFlag1",
"featureFlag2"
],
"customFiles" : [
{
"path" : "s3://my-bucket/my-file-1",
"unpack" : false,
"type" : "USER",
"executable" : false
},
{
"path" : "https://my-domain.com/my-file-2",
"unpack" : false,
"type" : "USER",
"executable" : false
}
],
}
}
Delete a cluster
URL
DELETE /clusters/{clusterId}
Parameters
Path parameters
clusterIdtype: String required
The cluster ID
Responses
Cluster immediately deleted.
Request accepted.
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Not found.
Example body:
{
"error" : {
"code" : "NotFound",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] was not found"
}
}
Sample request
curl --location --request DELETE 'https://{vanity_domain}.implycloud.com/api/v1/clusters/<clusterId>' \
--header 'Authorization: Bearer <Bearer Token>'
Get a cluster
URL
GET /clusters/{clusterId}
Parameters
Path parameters
clusterIdtype: String required
The cluster ID
Query parameters
prettytype: Boolean
Pretty print the results. (default: false)
Responses
A successful request returns an HTTP 2XX status code and a JSON response body of type Cluster.
Successfully retrieved cluster configuration.
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Not found.
Example body:
{
"error" : {
"code" : "NotFound",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] was not found"
}
}
Sample request
curl --location --request GET 'https://{vanity_domain}.implycloud.com/api/v1/clusters/<clusterId>?pretty=true' \
--header 'Authorization: Bearer <Bearer Token>'
Sample response
Toggle to show sample response
{
"metadata" : {
"name" : "My First Cluster"
"uid" : "ffd5ea0f-5018-4649-97ee-1ddb0f8a2c53",
},
"spec" : {
"version" : "version",
"desiredState" : "STARTED",
"awsInstanceRole" : "aws-instance-role",
"awsKeyPair" : "aws-key-pair",
"awsTags" : [
{
"name" : "tag-1",
"value" : "tag-1-value"
},
{
"name" : "tag-2",
"value" : "tag-2-value"
}
],
"encryptVolumes" : true,
"commonRuntimeProperties": [
{
"name": "common.druid.prop",
"value": "value1"
}
],
"master": {
"replicas": 3,
"instanceType": "t2.small",
"coordinatorRuntimeProperties": [
{
"name": "coordinator.druid.prop",
"value": "value1"
}
],
"overlordRuntimeProperties": [
{
"name": "master.druid.property",
"value": "value"
}
]
},
"query": {
"replicas": 2,
"instanceType": "t2.small",
"brokerRuntimeProperties": [
{
"name": "broker.druid.property",
"value": "value"
}
],
"routerRuntimeProperties": [
{
"name": "router.druid.property",
"value": "value"
}
],
"pivotConfiguration": "serverRoot: test\nuserMode: native"
},
"data": {
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
],
"tier1": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier2": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier3": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
}
},
"metadataStore": {
"instanceType": "db.t2.small",
"diskSize": 20,
"backupRetention": 14,
"monitoring": true,
"encrypt": true
},
"pivot": {
"accessMode": "PROXIED"
},
"deepStorage": {
"path": "s3://my-bucket/my-prefix",
"encrypt": true
},
"druidExtensions" : [
"druid-extension-1",
"druid-extension-2"
],
"featureFlags" : [
"featureFlag1",
"featureFlag2"
],
"customFiles" : [
{
"path" : "s3://my-bucket/my-file-1",
"unpack" : false,
"type" : "USER",
"executable" : false
},
{
"path" : "https://my-domain.com/my-file-2",
"unpack" : false,
"type" : "USER",
"executable" : false
}
],
},
"status" : {
"rootCertificate": "MIIEojCCAwqgAwIBAgIaANYP4s/dAk0GnFTVdfGdKrIwDQYJKoZIhvcNAQELBQAwYjEOMAwGA1UEAwwFSW1wbHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRMwEQYDVQQHDApCdXJsaW5nYW1lMRkwFwYDVQQKDBBJbXBseSBEYXRhLCBJbmMuMB4XDTE4MDUxNTAyMzUyMloXDTM4MDUxMDAyMzUyMlowYjEOMAwGA1UEAwwFSW1wbHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRMwEQYDVQQHDApCdXJsaW5nYW1lMRkwFwYDVQQKDBBJbXBseSBEYXRhLCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwatXpHgUc7BggYDkX4GbYLjYtlM3DIDLiViGbNkoyNXV8r8BELk6dTbtvAZgoGEZfukQwiUwsFNy01SlAs2KZU0LVTZMYi5vBE1aXT7LOiu7ab4bP59q6SuDzWlxvwI8Ld+RmNQL45cQto/ySAwCbWPQWdGvUruYzeCyZlK4G47hWO2oe3lzcejHolWE+33eJA4/gsb7NyjnDnt6XMta3l+PNXlMUriEdTQftPZHINEc5VqOh7oCOcbqyMQFPqqOKN2H3Y19hYD5oVVoq5cMqBPTyOPerVdCz5mZ+ykiO/8Bs9Zmbb4qw8/URNo1NpgT2QL1eCTN+gXSNYV7OgaEE+zUfsNta3abaYg2Ip4H8fLX7CB3D/IOL4yK6ZWHEnljcu5htQ5l28SEUS0EerFKo8lO18oH5wuzqRGQmfL+7siil3mrjPBWuij0gvxzmvEpRHY5IHjWdWZpN68eji9AaC2X+jYOZjpLD7hSVaexyBW4e/ZlpJAkh5ude+KfIVQnAgMBAAGjUzBRMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFBO8QPbkoJEpYeJmc6E+yLHp268SMB8GA1UdIwQYMBaAFBO8QPbkoJEpYeJmc6E+yLHp268SMA0GCSqGSIb3DQEBCwUAA4IBgQAoD5y/zM8y5kriaqkFAcVOSDyJM86rgyptrBGJ/mfNohosfgVypICTCeDdWdKiefClTavObWXld0LcAnLxLgqTC+v7ZvcbJesPmrZ7aBbmNl50mcfPwh5vUcBaBC1lkqP2zoTsdfmgwZ3sBwKci6ZnJRYPUcFs3ZdtKiCZeu4VNviTuPC15yO8dodHrPYHwNowMhQUizmV+ZmS73VeEMiMDs99L7oTdrTaTAw0o+IL3pPNrTHKbg5wMrVdxR1sD9x1IqNUT1Zr3nhN3t6dtvup2bVtNN4+AASHqQ2/aQNIg8PCpOrMkOIQCWVjfB3qEY8WivniuDADAgx/ZbxydyP1WWzHpwrCLGGlJdwXXIukGeyAscwQcUC4w8+1Az5y2Znic5iwaq6Z59CTZbw84kQeLEq+kHFjdmRuTIt4osYciKblCwIxbdB+v5UeG05sPAIl+pNx54P08KFAEn6MpsDezu2E9xDwxZUAUPLEOeaVtg20tk6Q392AhZHny09WfBM=",
"loadBalancers": {
"public": "imply-e9e-ElbExter-997NX4GKVIAC-1527164838.us-east-1.elb.amazonaws.com",
"private": "internal-imply-e9e-ElbInter-9DL3TH4LM4L2-1689280652.us-east-1.elb.amazonaws.com"
},
"servers": [
{
"instanceId": "i-0d4d5fc90b724909d",
"instanceType": "t2.small",
"privateIp": "10.4.90.5",
"publicIp": "52.55.78.238",
"state": "running",
"nodeType": "MASTER"
},
{
"instanceId": "i-083f888d41eb9e459",
"instanceType": "t2.small",
"privateIp": "10.4.89.5",
"publicIp": "3.84.244.217",
"state": "running",
"nodeType": "MASTER"
},
{
"instanceId": "i-070858bde8ec1cbda",
"instanceType": "t2.small",
"privateIp": "10.4.88.5",
"publicIp": "52.55.187.116",
"state": "running",
"nodeType": "MASTER"
},
{
"instanceId": "i-064998bf636c8579f",
"instanceType": "t2.small",
"privateIp": "10.4.93.73",
"publicIp": "54.91.113.190",
"state": "running",
"nodeType": "DATA_TIER_1"
},
{
"instanceId": "i-0400b3b9275002ad3",
"instanceType": "t2.small",
"privateIp": "10.4.91.89",
"publicIp": "54.92.199.116",
"state": "running",
"nodeType": "DATA_TIER_1"
},
{
"instanceId": "i-064998bf636c8579f",
"instanceType": "t2.small",
"privateIp": "10.4.93.73",
"publicIp": "54.91.113.190",
"state": "running",
"nodeType": "DATA_TIER_2"
},
{
"instanceId": "i-0400b3b9275002ad3",
"instanceType": "t2.small",
"privateIp": "10.4.91.89",
"publicIp": "54.92.199.116",
"state": "running",
"nodeType": "DATA_TIER_2"
},
{
"instanceId": "i-064998bf636c8579f",
"instanceType": "t2.small",
"privateIp": "10.4.93.73",
"publicIp": "54.91.113.190",
"state": "running",
"nodeType": "DATA_TIER_3"
},
{
"instanceId": "i-0400b3b9275002ad3",
"instanceType": "t2.small",
"privateIp": "10.4.91.89",
"publicIp": "54.92.199.116",
"state": "running",
"nodeType": "DATA_TIER_3"
},
{
"instanceId": "i-0d2d3ee7087cefe10",
"instanceType": "t2.small",
"privateIp": "10.4.93.248",
"publicIp": "52.207.212.193",
"state": "running",
"nodeType": "QUERY"
},
{
"instanceId": "i-050456c625dc589e9",
"instanceType": "t2.small",
"privateIp": "10.4.92.72",
"publicIp": "18.209.30.179",
"state": "running",
"nodeType": "QUERY"
}
],
"initialDruidPassword": "QKJ6bR/42zQU/31IZP8W3Q==",
"status": "OK",
"state": "RUNNING",
"updateState": {
"cancellable": false,
"totalStages": 0,
"currentStage": 0
},
"events": [
{
"level": "INFO",
"message": "Cluster message",
"source": "MANAGER",
"timestamp": "2021-11-11T20:16:01.389Z"
}
],
"resourceVersion": 0
}
}
}
List clusters
URL
GET /clusters
Parameters
Query parameters
prettytype: Boolean
Pretty print the results. (default: false)
Responses
A successful request returns an HTTP 2XX status code and a JSON response body of type array[Cluster].
OK.
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Sample request
curl --location --request GET 'https://{vanity_domain}.implycloud.com/api/v1/clusters?pretty=true' \
--header 'Authorization: Bearer <Bearer Token>'
Overwrite cluster configuration
URL
PUT /clusters/{clusterId}
Parameters
Path parameters
clusterIdtype: String required
The cluster ID
Query parameters
dryRuntype: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)prettytype: Boolean
Pretty print the results. (default: false)forcetype: Boolean
If true, allow hard updates. Note that rolling updates are the default. If both rolling and hard updates are available, setting this option to true means that hard updates will be the default action. (default: false)
Request body
Clustertype: Cluster required
Configuration of the new cluster.
Responses
A successful request returns an HTTP 2XX status code and a JSON response body of type Cluster.
Change immediately applied.
Request accepted.
Invalid request payload.
Example body:
{
"error" : {
"code" : "BadArgument",
"message" : "Request contains invalid arguments",
"details" : [
{
"code" : "NullValue",
"target" : "metadata.name",
"message" : "Cluster name must not be null"
},
{
"code" : "MalformedValue",
"target" : "spec.deepStorage.path",
"message" : "Path is not a valid s3 path"
}
]
}
}
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Not found.
Example body:
{
"error" : {
"code" : "NotFound",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] was not found"
}
}
Conflict.
Example body:
{
"error" : {
"code" : "StateConflict",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] cannot transition from [UPDATING] to [STOPPED]"
}
}
Sample request
curl --location --request PUT 'https://{vanity_domain}.implycloud.com/api/v1/clusters/<clusterId>?dryRun=true&pretty=true&force=true' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <Bearer Token>' \
--data-raw '<Cluster configuration>'
Sample response
Toggle to show sample response
{
"metadata" : {
"name" : "My First Cluster"
"uid" : "ffd5ea0f-5018-4649-97ee-1ddb0f8a2c53",
},
"spec" : {
"version" : "version",
"desiredState" : "STARTED",
"awsInstanceRole" : "aws-instance-role",
"awsKeyPair" : "aws-key-pair",
"awsTags" : [
{
"name" : "tag-1",
"value" : "tag-1-value"
},
{
"name" : "tag-2",
"value" : "tag-2-value"
}
],
"encryptVolumes" : true,
"commonRuntimeProperties": [
{
"name": "common.druid.prop",
"value": "value1"
}
],
"master": {
"replicas": 3,
"instanceType": "t2.small",
"coordinatorRuntimeProperties": [
{
"name": "coordinator.druid.prop",
"value": "value1"
}
],
"overlordRuntimeProperties": [
{
"name": "master.druid.property",
"value": "value"
}
]
},
"query": {
"replicas": 2,
"instanceType": "t2.small",
"brokerRuntimeProperties": [
{
"name": "broker.druid.property",
"value": "value"
}
],
"routerRuntimeProperties": [
{
"name": "router.druid.property",
"value": "value"
}
],
"pivotConfiguration": "serverRoot: test\nuserMode: native"
},
"data": {
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
],
"tier1": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier2": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier3": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
}
},
"metadataStore": {
"instanceType": "db.t2.small",
"diskSize": 20,
"backupRetention": 14,
"monitoring": true,
"encrypt": true
},
"pivot": {
"accessMode": "PROXIED"
},
"deepStorage": {
"path": "s3://my-bucket/my-prefix",
"encrypt": true
},
"druidExtensions" : [
"druid-extension-1",
"druid-extension-2"
],
"featureFlags" : [
"featureFlag1",
"featureFlag2"
],
"customFiles" : [
{
"path" : "s3://my-bucket/my-file-1",
"unpack" : false,
"type" : "USER",
"executable" : false
},
{
"path" : "https://my-domain.com/my-file-2",
"unpack" : false,
"type" : "USER",
"executable" : false
}
],
}
}
Update a cluster
URL
PATCH /clusters/{clusterId}
Parameters
Path parameters
clusterIdtype: String required
The cluster ID
Query parameters
dryRuntype: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)prettytype: Boolean
Pretty print the results. (default: false)forcetype: Boolean
If true, allow hard updates. Note that rolling updates are the default. If both rolling and hard updates are available, setting this option to true means that hard updates will be the default action. (default: false)
Request body
Clustertype: Cluster required
Configuration of the updated cluster. This configuration will be merged with the existing cluster definition.
Responses
A successful request returns an HTTP 2XX status code and a JSON response body of type Cluster.
Change immediately applied.
Request accepted.
Invalid request payload.
Example body:
{
"error" : {
"code" : "BadArgument",
"message" : "Request contains invalid arguments",
"details" : [
{
"code" : "NullValue",
"target" : "metadata.name",
"message" : "Cluster name must not be null"
},
{
"code" : "MalformedValue",
"target" : "spec.deepStorage.path",
"message" : "Path is not a valid s3 path"
}
]
}
}
Unauthorized.
Example body:
{
"error" : {
"code" : "Unauthorized",
"message" : "Provided user does not have permissions to complete this request"
}
}
Not found.
Example body:
{
"error" : {
"code" : "NotFound",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] was not found"
}
}
Conflict.
Example body:
{
"error" : {
"code" : "StateConflict",
"message" : "Cluster [e9e1e18f-a9e8-4dd7-8a18-768039c57f22] cannot transition from [UPDATING] to [STOPPED]"
}
}
Sample request
curl --location --request PATCH 'https://{vanity_domain}.implycloud.com/api/v1/clusters/<clusterId>?dryRun=true&pretty=true&force=true' \
--header 'Content-Type: application/merge-patch+json' \
--header 'Authorization: Bearer <Bearer Token>' \
--data-raw '<Cluster configuration>'
Sample response
Toggle to show sample response
{
"metadata" : {
"name" : "My First Cluster"
"uid" : "ffd5ea0f-5018-4649-97ee-1ddb0f8a2c53",
},
"spec" : {
"version" : "version",
"desiredState" : "STARTED",
"awsInstanceRole" : "aws-instance-role",
"awsKeyPair" : "aws-key-pair",
"awsTags" : [
{
"name" : "tag-1",
"value" : "tag-1-value"
},
{
"name" : "tag-2",
"value" : "tag-2-value"
}
],
"encryptVolumes" : true,
"commonRuntimeProperties": [
{
"name": "common.druid.prop",
"value": "value1"
}
],
"master": {
"replicas": 3,
"instanceType": "t2.small",
"coordinatorRuntimeProperties": [
{
"name": "coordinator.druid.prop",
"value": "value1"
}
],
"overlordRuntimeProperties": [
{
"name": "master.druid.property",
"value": "value"
}
]
},
"query": {
"replicas": 2,
"instanceType": "t2.small",
"brokerRuntimeProperties": [
{
"name": "broker.druid.property",
"value": "value"
}
],
"routerRuntimeProperties": [
{
"name": "router.druid.property",
"value": "value"
}
],
"pivotConfiguration": "serverRoot: test\nuserMode: native"
},
"data": {
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
],
"tier1": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier2": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
},
"tier3": {
"replicas": 2,
"instanceType": "t2.small",
"historicalRuntimeProperties": [
{
"name": "historical.druid.property",
"value": "value"
}
],
"middleManagerRuntimeProperties": [
{
"name": "mm.druid.property",
"value": "value"
}
]
}
},
"metadataStore": {
"instanceType": "db.t2.small",
"diskSize": 20,
"backupRetention": 14,
"monitoring": true,
"encrypt": true
},
"pivot": {
"accessMode": "PROXIED"
},
"deepStorage": {
"path": "s3://my-bucket/my-prefix",
"encrypt": true
},
"druidExtensions" : [
"druid-extension-1",
"druid-extension-2"
],
"featureFlags" : [
"featureFlag1",
"featureFlag2"
],
"customFiles" : [
{
"path" : "s3://my-bucket/my-file-1",
"unpack" : false,
"type" : "USER",
"executable" : false
},
{
"path" : "https://my-domain.com/my-file-2",
"unpack" : false,
"type" : "USER",
"executable" : false
}
],
}
}
