{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cloudera/main/json-schema/cloudera-create-azure-datalake-request-schema.json", "title": "CreateAzureDatalakeRequest", "description": "Request object for create Azure 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/CreateAzureDatalakeRequest", "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/AzureConfigurationRequest", "description": "Azure 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." }, "loadBalancerSku": { "description": "The SKU for the datalake load balancer. Allowed values are \"BASIC\", \"STANDARD\", or \"NONE\".", "$ref": "#/$defs/DatalakeLoadBalancerSkuType" }, "enableRangerRaz": { "type": "boolean", "description": "Whether to enable Ranger RAZ for the datalake. Defaults to not being enabled." }, "databaseType": { "type": "string", "description": "The type of the azure database. FLEXIBLE_SERVER is the next generation managed PostgreSQL service in Azure that provides maximum flexibility over your database, built-in cost-optimizations. SINGLE_SERVER is a fully managed database service with minimal requirements for customizations of the database.", "enum": [ "FLEXIBLE_SERVER", "SINGLE_SERVER" ] }, "flexibleServerDelegatedSubnetId": { "type": "string", "description": "This argument allows you to specify the subnet ID for the subnet within which you want to configure your Azure Flexible Server." }, "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." }, "multiAz": { "type": "boolean", "default": false, "description": "Creates CDP datalake distributed across multiple availability zones in an Azure region." } }, "$defs": { "AzureConfigurationRequest": { "type": "object", "description": "Request object for Azure configuration.", "required": [ "managedIdentity", "storageLocation" ], "properties": { "managedIdentity": { "type": "string", "description": "The managed identity to use. The assumer should have Virtual Machine Contributor and Managed Identity Operator roles on subscription level." }, "storageLocation": { "type": "string", "description": "The storage location to use. The location has to be in the following format abfs://filesystem@storage-account-name.dfs.core.windows.net. The filesystem must already exist and the storage account must be StorageV2." } } }, "DatalakeLoadBalancerSkuType": { "type": "string", "description": "Represents the Azure load balancer SKU type. The current default is BASIC. To disable the load balancer, use type NONE.", "enum": [ "BASIC", "STANDARD", "NONE" ] }, "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." } } } } }