{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cloudera/main/json-schema/cloudera-create-awsdatalake-request-schema.json", "title": "CreateAWSDatalakeRequest", "description": "Request object for create AWS datalake request.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/cloudera-datalake-api-openapi.yml#/components/schemas/CreateAWSDatalakeRequest", "type": "object", "required": [ "datalakeName", "environmentName", "cloudProviderConfiguration" ], "properties": { "datalakeName": { "type": "string", "description": "The datalake name. 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 }, "environmentName": { "type": "string", "description": "The environment name or CRN." }, "cloudProviderConfiguration": { "$ref": "#/$defs/AWSConfigurationRequest", "description": "AWS configuration." }, "scale": { "description": "The scale of the datalake. Allowed values are \"LIGHT_DUTY\" or \"MEDIUM_DUTY_HA\". Defaults to \"LIGHT_DUTY\" if not set.", "$ref": "#/$defs/DatalakeScaleType", "x-no-compatibility-guarantee": true }, "tags": { "type": "array", "description": "Tags to be added to Data Lake related resources.", "items": { "$ref": "#/$defs/DatalakeResourceTagRequest" } }, "runtime": { "type": "string", "description": "Cloudera Runtime version." }, "image": { "$ref": "#/$defs/ImageRequest", "description": "The image to use for the datalake. This must not be set if the runtime parameter is provided." }, "enableRangerRaz": { "type": "boolean", "description": "Whether to enable Ranger RAZ for the datalake. Defaults to not being enabled." }, "enableRangerRms": { "type": "boolean", "description": "Whether to enable Ranger RMS for the datalake. Defaults to not being enabled." }, "multiAz": { "type": "boolean", "description": "Controls if the datalake is deployed in a multi-availability zone way." }, "recipes": { "type": "array", "items": { "$ref": "#/$defs/InstanceGroupRecipeRequest" }, "description": "Additional recipes that will be attached on the datalake instances (by instance groups, most common ones are like 'master' or 'idbroker')." }, "customInstanceGroups": { "type": "array", "items": { "$ref": "#/$defs/SdxInstanceGroupRequest" }, "description": "Configure custom properties on an instance group level." }, "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 data lake cluster. Values are ARM64, X86_64.", "enum": [ "ARM64", "X86_64" ] } }, "$defs": { "AWSConfigurationRequest": { "type": "object", "description": "Request object for AWS configuration.", "required": [ "instanceProfile", "storageBucketLocation" ], "properties": { "instanceProfile": { "type": "string", "description": "The ARN of an IAM instance profile." }, "storageBucketLocation": { "type": "string", "description": "The location of the S3 bucket to be used as storage. The location has to start with s3a:// followed by the bucket name." } } }, "DatalakeResourceTagRequest": { "type": "object", "description": "Tag for a datalake resource.", "required": [ "key", "value" ], "properties": { "key": { "type": "string", "description": "The key of tag." }, "value": { "type": "string", "description": "The value of the tag." } } }, "DatalakeScaleType": { "type": "string", "description": "Represents the available datalake scales. Defaults to LIGHT_DUTY if not set.", "enum": [ "LIGHT_DUTY", "MEDIUM_DUTY_HA", "ENTERPRISE" ] }, "ImageRequest": { "description": "The image request for the datalake. When the 'runtime' parameter is set, only the 'os' parameter can be provided. Otherwise, you can use 'catalog name' and/or 'id' for selecting an image.", "type": "object", "properties": { "id": { "type": "string", "description": "The image ID from the catalog. The corresponding image will be used for the created cluster machines." }, "catalogName": { "type": "string", "description": "The name of the custom image catalog to use, defaulting to 'cdp-default' if not present.", "default": "cdp-default" }, "os": { "type": "string", "description": "The OS of the image used for cluster instances." } } }, "InstanceGroupRecipeRequest": { "type": "object", "description": "Represents an instance group - recipe pair (by names) request.", "required": [ "instanceGroupName" ], "properties": { "instanceGroupName": { "type": "string", "description": "A valid instance/host group name. This name must be unique." }, "recipeNames": { "type": "array", "uniqueItems": true, "items": { "type": "string" }, "description": "Names of the recipes (empty is valid)." } } }, "SdxInstanceGroupRequest": { "description": "Request object for host group level custom configurations.", "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the instance group." }, "instanceType": { "type": "string", "description": "Cloud provider instance type to create instances with." } } } } }