{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cloudera/main/json-schema/cloudera-create-deployment-request-schema.json", "title": "CreateDeploymentRequest", "description": "Request object to create a deployment.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/cloudera-cdflocalrpcapiversion1-api-openapi.yml#/components/schemas/CreateDeploymentRequest", "type": "object", "x-workload": true, "x-client-only": true, "required": [ "environmentCrn", "configurationVersion", "deploymentRequestCrn", "name" ], "properties": { "environmentCrn": { "type": "string", "description": "The CRN of an environment to execute the command." }, "configurationVersion": { "type": "integer", "format": "int32", "description": "The version of this configuration." }, "name": { "type": "string", "description": "The name of the deployment." }, "deploymentRequestCrn": { "type": "string", "description": "The CRN of the deployment request." }, "parameterGroups": { "type": "array", "description": "The list of flow parameter groups.", "items": { "$ref": "#/$defs/FlowParameterGroup" } }, "autoScalingEnabled": { "type": "boolean", "description": "Specifies that auto-scaling should be enabled." }, "flowMetricsScalingEnabled": { "type": "boolean", "description": "Specifies that Flow metrics should be enabled for scaling." }, "autoScaleMinNodes": { "type": "integer", "format": "int32", "description": "The minimum number of nodes that the cluster should allocate. May only be specified when autoScalingEnabled is true." }, "autoScaleMaxNodes": { "type": "integer", "format": "int32", "description": "The maximum number of nodes that the cluster should scale to. May only be specified when autoScalingEnabled is true." }, "staticNodeCount": { "type": "integer", "format": "int32", "description": "The static number of nodes that the cluster should allocate. May only be specified when autoScalingEnabled is false." }, "kpis": { "type": "array", "description": "The list of configured KPIs.", "items": { "$ref": "#/$defs/ConfiguredKpi" } }, "deployedFlowName": { "type": "string", "description": "The name of the deployed flow." }, "cfmNifiVersion": { "type": "string", "description": "The CFM NiFi version associated with the deployment." }, "autoStartFlow": { "type": "boolean", "description": "Indicates whether or not the flow should be started during deployment creation." }, "clusterSize": { "description": "The size of the cluster to deploy.", "$ref": "#/$defs/BasicClusterSize" }, "inboundHostname": { "type": "string", "description": "The FQDN of inbound hostname or just the prefix part." }, "listenComponents": { "type": "array", "description": "Listen components port and protocol data.", "items": { "$ref": "#/$defs/ListenComponent" } }, "inboundConnectionAuthorizedIpRanges": { "type": "array", "description": "Set of authorized CIDR ranges for the inbound connections.", "uniqueItems": true, "items": { "type": "string" } }, "nodeStorageProfileName": { "type": "string", "description": "The node storage profile name.", "enum": [ "STANDARD_AWS", "STANDARD_AZURE", "TEST_SESSION_AWS", "TEST_SESSION_AZURE", "PERFORMANCE_AWS", "PERFORMANCE_AZURE", "LOCAL_K8S", "CUSTOM_AWS", "CUSTOM_AZURE" ] }, "nodeStorage": { "description": "The node storage data.", "$ref": "#/$defs/NodeStorage" }, "pythonWorkDirectorySize": { "type": "integer", "format": "int32", "description": "The size of the extra volume mounted for flows containing python." }, "ignoreDeploymentInboundConfigurationChecks": { "type": "boolean", "description": "When specified, ignore the check to validate if deployment has inbound connection configured for all listen components." }, "customNarConfigurationCrn": { "type": "string", "description": "The CRN of the custom NAR configuration." }, "customPythonConfigurationCrn": { "type": "string", "description": "The CRN of the custom Python configuration." }, "projectCrn": { "type": "string", "description": "The CRN of the project." }, "useSharedParameterGroupCrn": { "type": "string", "description": "The CRN of the shared group to use. All parameters of the flow should be present in the provided shared parameter group." } }, "$defs": { "AWSNodeStorageProfile": { "type": "object", "description": "Custom AWS node storage parameters.", "x-workload": true, "x-client-only": true, "properties": { "repoSize": { "type": "integer", "format": "int32", "description": "The size of the repository in GB." }, "iops": { "type": "string", "description": "The IOPS of the repository." }, "throughput": { "type": "string", "description": "The throughput of the repository." } } }, "AlertFrequencyUnit": { "type": "object", "description": "The alert frequency unit to use in KPI tolerances and metrics", "x-workload": true, "x-client-only": true, "required": [ "id", "label" ], "properties": { "id": { "type": "string", "description": "The id of the frequency unit", "enum": [ "SECONDS", "MINUTES", "HOURS", "DAYS" ] }, "label": { "type": "string", "description": "The user-friendly label of the frequency unit" }, "abbreviation": { "type": "string", "description": "The abbreviation for frequency unit" } } }, "AssetReference": { "type": "object", "description": "A reference to an asset used in a flow parameter", "x-workload": true, "x-client-only": true, "properties": { "id": { "type": "string", "description": "The ID of the asset" }, "name": { "type": "string", "description": "The name of the asset" }, "path": { "type": "string", "description": "The path of the asset" }, "version": { "type": "string", "description": "The version of the asset" }, "environmentProvided": { "type": "boolean", "description": "Whether or not the asset is provided automatically by the environment. If true, the asset cannot removed or replaced." } } }, "BasicClusterSize": { "type": "object", "description": "Cluster scaling parameters.", "x-workload": true, "x-client-only": true, "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The name of this Cluster Size.", "enum": [ "EXTRA_SMALL", "SMALL", "MEDIUM", "LARGE", "CUSTOM" ] }, "coresPerNode": { "type": "number", "format": "double", "description": "The number of CPU Cores per node (will be truncated to the nearest integer)." }, "memoryLimit": { "type": "number", "format": "double", "description": "The memory limit (will be truncated to the nearest integer)." } } }, "ConfiguredAlert": { "type": "object", "description": "An alert configuration that specifies a configured frequency with lower and/or upper thresholds", "x-workload": true, "x-client-only": true, "properties": { "thresholdMoreThan": { "description": "The optional moreThan threshold that should trigger an alert; at least one of thresholdMoreThan and thresholdLessThan is required", "$ref": "#/$defs/ConfiguredAlertThreshold" }, "thresholdLessThan": { "description": "The optional lessThan threshold that should trigger an alert", "$ref": "#/$defs/ConfiguredAlertThreshold" }, "frequencyTolerance": { "description": "The configured alert frequency tolerance for the KPI", "$ref": "#/$defs/ConfiguredAlertFrequencyTolerance" } } }, "ConfiguredAlertFrequencyTolerance": { "type": "object", "description": "An alert configuration frequency tolerance for measuring an amount of time and unit for alert triggering", "x-workload": true, "x-client-only": true, "required": [ "unit", "value" ], "properties": { "unit": { "description": "The unit of time controlling how long a metric value can persist outside its boundaries before an alert is generated", "$ref": "#/$defs/AlertFrequencyUnit" }, "value": { "type": "number", "format": "double", "description": "The amount of time, associated with the given unit, a metric value can persist outside its boundaries before an alert is generated" } } }, "ConfiguredAlertThreshold": { "type": "object", "description": "A configured alert threshold to pair together a statistical unit and value", "x-workload": true, "x-client-only": true, "required": [ "unitId", "value" ], "properties": { "unitId": { "type": "string", "description": "The identifier of the alert threshold unit to associate with the given threshold value" }, "value": { "type": "number", "format": "double", "description": "The threshold value whose triggering causes an alert" } } }, "ConfiguredKpi": { "type": "object", "description": "An instantiated KPI specifying a metric on which to alert", "x-workload": true, "x-client-only": true, "required": [ "metricId" ], "properties": { "metricId": { "type": "string", "description": "The id of the associated metric" }, "id": { "type": "string", "description": "The id of the KPI; used only when viewing and editing existing KPIs" }, "metricComponentType": { "type": "string", "description": "The component type of the associated metric", "enum": [ "SYSTEM", "NIFI_FLOW", "NIFI_PROCESSOR", "NIFI_PROCESS_GROUP", "NIFI_CONNECTION" ] }, "alert": { "description": "The alert specification for the associated metric", "$ref": "#/$defs/ConfiguredAlert" }, "componentId": { "type": "string", "description": "The optional process group ID, processor ID, or connection ID. This is a composite ID containing a chain of process group IDs representing the component's full ancestry" } } }, "FlowParameter": { "type": "object", "description": "A flow parameter", "x-workload": true, "x-client-only": true, "properties": { "name": { "type": "string", "description": "The name of the parameter" }, "description": { "type": "string", "description": "The description of the param" }, "value": { "type": "string", "description": "The value of the parameter", "x-no-paramfile": true }, "sensitive": { "type": "boolean", "description": "Whether or not the parameter value is sensitive" }, "type": { "type": "string", "description": "The type of parameter. Possibly TEXT, FILE, FILES", "enum": [ "TEXT", "FILE", "FILES" ] }, "assetReferences": { "type": "array", "description": "The list of referenced assets.", "items": { "$ref": "#/$defs/AssetReference" } }, "valueSet": { "type": "boolean", "description": "Indicates if the value of this parameter is set (i.e. not null)", "readOnly": true }, "sourceParameterGroupId": { "type": "string", "description": "The ID of the shared parameter group where the value should come from." } } }, "FlowParameterGroup": { "type": "object", "description": "A flow parameter group", "x-workload": true, "x-client-only": true, "properties": { "name": { "type": "string", "description": "The name of the parameter group" }, "parameters": { "type": "array", "description": "The parameters in the group", "items": { "$ref": "#/$defs/FlowParameter" } }, "inheritedParameterGroups": { "type": "array", "description": "The names and versions of the inherited parameter groups", "uniqueItems": true, "items": { "$ref": "#/$defs/VersionedParameterGroupReference" } }, "otherName": { "type": "string", "description": "The other name that can be used to reference this group in a flow. This is used when multiple flows with same parameter group are deployed in to same NiFi cluster." } } }, "ListenComponent": { "type": "object", "description": "Provides subset of metadata of a Listen* component", "x-workload": true, "x-client-only": true, "required": [ "protocol" ], "properties": { "protocol": { "type": "string", "description": "Inbound protocol.", "enum": [ "TCP", "UDP" ] }, "listenComponentType": { "type": "string", "description": "Listen component type", "readOnly": true, "enum": [ "ListenHTTP", "ListenFTP", "ListenSyslog", "ListenRELP", "ListenTCP", "ListenUDP", "ListenTCPRecord", "ListenUDPRecord", "ListenGRPC", "ListenSMTP", "ListenBeats", "ListenLumberjack", "ListenWebSocket", "HandleHttpRequest" ] }, "port": { "type": "string", "description": "Inbound port." } } }, "NodeStorage": { "type": "object", "description": "Node storage parameters.", "x-workload": true, "x-client-only": true, "properties": { "azureContentRepoProfile": { "type": "string", "description": "The Azure content repository profile.", "enum": [ "AZURE_P6", "AZURE_P10", "AZURE_P15", "AZURE_P30" ] }, "azureProvenanceRepoProfile": { "type": "string", "description": "The Azure provenance repository profile.", "enum": [ "AZURE_P6", "AZURE_P10", "AZURE_P15", "AZURE_P30" ] }, "azureFlowFileRepoProfile": { "type": "string", "description": "The Azure flow file repository profile.", "enum": [ "AZURE_P6", "AZURE_P10", "AZURE_P15", "AZURE_P30" ] }, "awsContentRepoProfile": { "description": "The AWS content repository profile.", "$ref": "#/$defs/AWSNodeStorageProfile" }, "awsProvenanceRepoProfile": { "description": "The AWS provenance repository profile.", "$ref": "#/$defs/AWSNodeStorageProfile" }, "awsFlowFileRepoProfile": { "description": "The AWS flow file repository profile.", "$ref": "#/$defs/AWSNodeStorageProfile" } } }, "VersionedParameterGroupReference": { "type": "object", "description": "A reference to a specific version of a shared parameter group", "x-workload": true, "x-client-only": true, "required": [ "groupId" ], "properties": { "groupId": { "type": "string", "description": "The ID of the parameter group" }, "version": { "type": "integer", "format": "int64", "description": "The version of the parameter group. Empty or null means the latest version." } } } } }