{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cloudera/main/json-schema/cloudera-create-awscluster-request-schema.json", "title": "CreateAWSClusterRequest", "description": "Request object for create AWS cluster request.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/cloudera-data-hub-api-openapi.yml#/components/schemas/CreateAWSClusterRequest", "type": "object", "properties": { "clusterName": { "type": "string", "description": "The name of the cluster. This name must be unique, must have between 5 and 40 characters, and must contain only lowercase letters, numbers and hyphens. Names are case-sensitive.", "minLength": 5, "maxLength": 40 }, "clusterDefinitionName": { "type": "string", "x-deprecated": true, "description": "Deprecated, the name or CRN of the cluster definition to use for cluster creation." }, "clusterDefinition": { "type": "string", "description": "The name or CRN of the cluster definition to use for cluster creation." }, "environmentName": { "type": "string", "x-deprecated": true, "description": "Deprecated, name or CRN of the environment to use when creating the cluster. The environment must be an AWS environment." }, "environment": { "type": "string", "description": "Name or CRN of the environment to use when creating the cluster. The environment must be an AWS environment." }, "clusterTemplateName": { "type": "string", "x-deprecated": true, "description": "Deprecated, name or CRN of the cluster template to use for cluster creation." }, "clusterTemplate": { "type": "string", "description": "Name or CRN of the cluster template to use for cluster creation." }, "customConfigurationsName": { "type": "string", "description": "The name of the custom configurations to use for cluster creation." }, "instanceGroups": { "type": "array", "items": { "$ref": "#/$defs/InstanceGroupRequest" }, "description": "Instance group details." }, "subnetId": { "type": "string", "description": "The subnet ID." }, "image": { "$ref": "#/$defs/ImageRequest", "description": "The image to be used for cluster creation." }, "tags": { "type": "array", "description": "Tags to be added to Datahub related resources.", "items": { "$ref": "#/$defs/DatahubResourceTagRequest" } }, "requestTemplate": { "type": "string", "description": "JSON template to use for cluster creation. This is different from cluster template and would be removed in the future." }, "datahubDatabase": { "$ref": "#/$defs/DatahubDatabaseType", "description": "Database type for datahub. Currently supported values: NONE, NON_HA, HA" }, "subnetIds": { "type": "array", "items": { "type": "string" }, "description": "List of subnet IDs in case of multi availability zone setup." }, "multiAz": { "type": "boolean", "description": "Flag that toggles the multi availability zone for the given datahub cluster when you are not sure what subnet IDs can be used. This way the subnet IDs will be used what the environment suggests." }, "clusterExtension": { "$ref": "#/$defs/ClusterExtension", "description": "Cluster extensions for the given Data Hub cluster.", "x-no-compatibility-guarantee": true }, "enableLoadBalancer": { "type": "boolean", "description": "Flag that decides whether to provision a load-balancer to front various service endpoints for the given datahub. This will typically be used for HA cluster shapes." }, "javaVersion": { "type": "integer", "format": "int32", "description": "Configure the major version of Java on the cluster." }, "architecture": { "type": "string", "description": "Specifies the CPU architecture of the cluster. Values are ARM64, X86_64." } }, "$defs": { "AttachedVolumeRequest": { "type": "object", "description": "Configurations for additional attached volumes.", "required": [ "volumeSize", "volumeCount", "volumeType" ], "properties": { "volumeSize": { "type": "integer", "format": "int32", "description": "The attached volume size." }, "volumeCount": { "type": "integer", "format": "int32", "description": "The attached volume count." }, "volumeType": { "type": "string", "description": "The attached volume type." } } }, "ClusterExtension": { "type": "object", "description": "Cluster extensions for Data Hub cluster.", "x-no-compatibility-guarantee": true, "properties": { "customProperties": { "type": "string", "description": "The custom properties JSON, encoded in base64." } } }, "DatahubDatabaseType": { "type": "string", "description": "Database type for datahub. Currently supported values: NONE, NON_HA, HA", "enum": [ "HA", "NON_HA", "NONE" ] }, "DatahubResourceTagRequest": { "type": "object", "description": "Tag for a datahub resource.", "required": [ "key", "value" ], "properties": { "key": { "type": "string", "description": "The key of tag." }, "value": { "type": "string", "description": "The value of the tag." } } }, "ImageRequest": { "type": "object", "description": "The details of the image used for cluster instances.", "properties": { "id": { "type": "string", "description": "The ID of the image used for cluster instances. This is generated by the cloud provider to uniquely identify the image." }, "catalogName": { "type": "string", "description": "The image catalog name." }, "os": { "type": "string", "description": "The OS of the image used for cluster instances." } } }, "InstanceGroupRequest": { "type": "object", "description": "Configurations for instance group", "required": [ "nodeCount", "instanceGroupName", "instanceGroupType", "instanceType", "attachedVolumeConfiguration" ], "properties": { "nodeCount": { "type": "integer", "format": "int32", "description": "Number of instances in the instance group" }, "instanceGroupName": { "type": "string", "description": "The instance group name." }, "instanceGroupType": { "type": "string", "description": "The instance group type." }, "instanceType": { "type": "string", "description": "The cloud provider specific instance type to be used." }, "attachedVolumeConfiguration": { "type": "array", "items": { "$ref": "#/$defs/AttachedVolumeRequest" }, "description": "The attached volume configuration. This does not include root volume." }, "rootVolumeSize": { "type": "integer", "format": "int32", "description": "The root volume size." }, "recipeNames": { "type": "array", "items": { "type": "string" }, "description": "The names or CRNs of the recipes that would be applied to the instance group." }, "recoveryMode": { "type": "string", "description": "Recovery mode for the instance group." }, "volumeEncryption": { "$ref": "#/$defs/VolumeEncryptionRequest", "description": "The volume encryption settings. This setting does not apply to Azure which always encrypts volumes." }, "subnetIds": { "type": "array", "items": { "type": "string" }, "description": "The list of subnet IDs in case of multi-availability zone setup. Specifying this field overrides the datahub level subnet ID setup for the multi-availability zone configuration." } } }, "VolumeEncryptionRequest": { "type": "object", "description": "Configurations for volume encryption.", "properties": { "enableEncryption": { "type": [ "boolean", "null" ], "description": "Enable encyrption for all volumes in the instance group. Default is false." }, "encryptionKey": { "type": "string", "description": "The ARN of the encryption key to use. If nothing is specified, the default key will be used." } } } } }