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
pretty
type: Boolean
Pretty print the results. (default: false)dryRun
type: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)
Request body
Cluster
type: 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
clusterId
type: 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
clusterId
type: String required
The cluster ID
Query parameters
pretty
type: 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
pretty
type: 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
clusterId
type: String required
The cluster ID
Query parameters
dryRun
type: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)pretty
type: Boolean
Pretty print the results. (default: false)force
type: 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
Cluster
type: 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
clusterId
type: String required
The cluster ID
Query parameters
dryRun
type: Boolean
Dry run option. Can be used to validate the Cluster configuration. (default: false)pretty
type: Boolean
Pretty print the results. (default: false)force
type: 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
Cluster
type: 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
}
],
}
}