swagger: '2.0'
x-endpoint-name: datalake
x-interface-model: cdp
x-products: CDP
x-form-factors: public
x-cdp-releases: PUBLIC
x-audit: true
info:
  version: 0.9.158
  title: Cloudera Datalake Service
  license:
    name: Apache 2.0
  description: Cloudera data lake is a service for launching and managing data lake clusters powered by Cloudera Runtime.
  termsOfService: https://www.cloudera.com/legal/commercial-terms-and-conditions.html
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
paths:
  /api/v1/datalake/listRuntimes:
    post:
      summary: Lists the datalake versions.
      description: Lists the available datalake runtime versions.
      operationId: listRuntimes
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ListRuntimesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ListRuntimesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/createAWSDatalake:
    post:
      summary: Creates an AWS datalake.
      description: Creates an AWS datalake.
      operationId: createAWSDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateAWSDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CreateAWSDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/createAWSGovCloudDatalake:
    post:
      summary: Creates a Data Lake on AWS GovCloud.
      description: Creates a Data Lake on AWS GovCloud.
      operationId: createAWSGovCloudDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateAWSGovCloudDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CreateAWSGovCloudDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/createAzureDatalake:
    post:
      summary: Creates an Azure datalake.
      description: Creates an Azure datalake.
      operationId: createAzureDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateAzureDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CreateAzureDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/createGCPDatalake:
    post:
      summary: Creates an GCP Data Lake.
      description: Creates an GCP Data Lake.
      operationId: createGCPDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CreateGCPDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CreateGCPDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/listDatalakes:
    post:
      summary: Lists datalakes.
      description: Lists datalakes.
      operationId: listDatalakes
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ListDatalakesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ListDatalakesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/deleteDatalake:
    post:
      summary: Deletes a datalake.
      description: Deletes a datalake.
      operationId: deleteDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/DeleteDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/DeleteDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/retryDatalake:
    post:
      summary: Retry last failed operation on a datalake.
      description: Retry last failed operation on a datalake.
      operationId: retryDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RetryDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RetryDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/startDatalakeVerticalScaling:
    post:
      summary: Initiates the vertical scaling on Data Lake.
      description: Initiates the vertical scaling on Data Lake. You have the option to specify 'modifyDisks' or 'instanceTemplate' as parameter.
      operationId: startDatalakeVerticalScaling
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/StartDatalakeVerticalScalingRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/StartDatalakeVerticalScalingResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/describeDatalake:
    post:
      summary: Describes a datalake.
      description: Describes a datalake.
      operationId: describeDatalake
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/DescribeDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/DescribeDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/renewCertificate:
    post:
      summary: Renew certificate on Datalake cluster by name or CRN
      description: Deprecated, please use renew-public-certificate command instead. Renew certificate on Datalake cluster by name or CRN.
      operationId: renewCertificate
      x-deprecated: true
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RenewCertificateRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RenewCertificateResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/renewPublicCertificate:
    post:
      summary: Renews public certificate on Datalake cluster by name or CRN.
      description: Renews public certificate on Datalake cluster by name or CRN.
      operationId: renewPublicCertificate
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RenewPublicCertificateRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RenewPublicCertificateResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/repairDatalake:
    post:
      summary: Repairs a datalake.
      description: Repairs a datalake.
      operationId: repairDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RepairDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RepairDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/restartDatalakeInstances:
    post:
      summary: Restarts instances of a datalake on Cloud provider.
      description: Restarts instances of a datalake on Cloud provider.
      operationId: restartDatalakeInstances
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RestartDatalakeInstancesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RestartDatalakeInstancesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/getClusterServiceStatus:
    post:
      summary: Get cluster service status.
      description: Gets the status of the services in a cluster.
      operationId: getClusterServiceStatus
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetClusterServiceStatusRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/GetClusterServiceStatusResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/getClusterHostStatus:
    post:
      summary: Get cluster host status.
      description: Gets the status of the hosts in a cluster.
      operationId: getClusterHostStatus
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetClusterHostStatusRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/GetClusterHostStatusResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/upgradeDatalake:
    post:
      summary: OS or data platform upgrade for the SDX cluster.
      description: OS or data platform upgrade for the SDX cluster. You have the option to either specify one of 'imageId', 'runtime' or 'lockComponents' or both 'imageId' and 'lockComponents' or none of the parameters.
      operationId: upgradeDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpgradeDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/UpgradeDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/prepareDatalakeUpgrade:
    post:
      summary: Prepares the Data Lake cluster for upgrade.
      description: In order to reduce the chance of upgrade failures, we're introducing a preparation phase for runtime upgrades. During this phase, we're running all validations and downloading the required parcels for the machines. You can track the progress of the parcel preparation on the Cloudera Manager UI or you can check on the Management Console as well.
      operationId: prepareDatalakeUpgrade
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/PrepareDatalakeUpgradeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/PrepareDatalakeUpgradeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/startDatabaseUpgrade:
    post:
      summary: Upgrades the database of the Data Lake cluster.
      description: This command initiates the upgrade of the database of the Data Lake cluster.
      operationId: startDatabaseUpgrade
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/StartDatabaseUpgradeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/StartDatabaseUpgradeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/startDatalake:
    post:
      summary: Start Datalake
      description: Deprecated, please use 'cdp environments start-environment' instead.
      operationId: startDatalake
      x-mutating: true
      x-deprecated: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/StartDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/StartDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/stopDatalake:
    post:
      summary: Stop Datalake
      description: Deprecated, please use 'cdp environments stop-environment' instead.
      operationId: stopDatalake
      x-mutating: true
      x-deprecated: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/StopDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/StopDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/backupDatalake:
    post:
      summary: Create backup of datalake.
      description: Takes a backup of all the data in the datalake.
      operationId: backupDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/BackupDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/BackupDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/backupDatalakeStatus:
    post:
      summary: Check the status of a datalake backup operation performed.
      description: Identifies the backup operation based on the inputs provided and gets the status. BackupName and BackupId are mutually exclusive. Only one of them can be provided.
      operationId: backupDatalakeStatus
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/BackupDatalakeStatusRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/BackupDatalakeStatusResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/restoreDatalake:
    post:
      summary: Restore the datalake from backup taken.
      description: Restore the datalake from a backup that was taken. Backup to be used for restore is identified based on the information provided in the restore request. BackupId and BackupName are mutually exclusive. Only one of them can be provided. If both are provided, BackupId takes precedence.
      operationId: restoreDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RestoreDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RestoreDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/restoreDatalakeStatus:
    post:
      summary: Check the status of datalake restore operation.
      description: Identifies the restore operation based on the inputs provided and gets the status. RestoreId and BackupName are mutually exclusive. Only one of them can be provided.
      operationId: restoreDatalakeStatus
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RestoreDatalakeStatusRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RestoreDatalakeStatusResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/listDatalakeBackups:
    post:
      summary: List all the backup operations that were performed on the datalake.
      description: List all the backup operations that were performed on the datalake.
      operationId: listDatalakeBackups
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ListDatalakeBackupsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ListDatalakeBackupsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/cancelBackup:
    post:
      summary: Cancels the specified ongoing backup operation.
      description: Cancels a currently running backup operation. The operation must be in a STARTED or IN_PROGRESS state. Pending sub-operations will be ignored and marked as cancelled. The operation does not wait for the currently running sub-operation(s) to complete.
      operationId: cancelBackup
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CancelBackupRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CancelBackupResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/cancelRestore:
    post:
      summary: Cancels the restore that was performed.
      description: Cancels a currently running restore operation. The operation must be in a STARTED or IN_PROGRESS state.
      operationId: cancelRestore
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CancelRestoreRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CancelRestoreResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/replaceRecipes:
    post:
      summary: Replaces recipes for the given instance groups.
      description: Replaces recipes for the given instance groups.
      operationId: replaceRecipes
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ReplaceRecipesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ReplaceRecipesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/rotateSecrets:
    post:
      summary: Rotates secrets for a specific Datalake
      description: Rotates secrets for a specific Datalake based on what secret types are specified.
      operationId: rotateSecrets
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RotateSecretsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RotateSecretsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/rotateDbCertificate:
    post:
      summary: Rotates database ssl certificate for a specific Data Lake
      description: Rotates database ssl certificate for a specific Data Lake.
      operationId: rotateDbCertificate
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RotateDbCertificateRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RotateDbCertificateResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/listDatalakeSecretTypes:
    post:
      summary: Lists all Datalake related secret types.
      description: Lists Datalake related secret types for Datalake instances.
      operationId: listDatalakeSecretTypes
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ListDatalakeSecretTypesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ListDatalakeSecretTypesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/getDatalakeLogDescriptors:
    post:
      summary: Gather log descriptors that are used for diagnostics collection.
      description: Gather log descriptors that are used for diagnostics collection.
      operationId: getDatalakeLogDescriptors
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetDatalakeLogDescriptorsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/GetDatalakeLogDescriptorsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/collectDatalakeDiagnostics:
    post:
      summary: Start DataLake diagnostics collection
      description: Start Datalake diagnostics collection
      operationId: collectDatalakeDiagnostics
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CollectDatalakeDiagnosticsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CollectDatalakeDiagnosticsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/listDatalakeDiagnostics:
    post:
      summary: List recent Datalake diagnostics collections
      description: List recent Datalake diagnostics collection
      operationId: listDatalakeDiagnostics
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ListDatalakeDiagnosticsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/ListDatalakeDiagnosticsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/cancelDatalakeDiagnostics:
    post:
      summary: Cancel running Datalake diagnostics collections
      description: Cancel running Datalake diagnostics collection
      operationId: cancelDatalakeDiagnostics
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CancelDatalakeDiagnosticsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CancelDatalakeDiagnosticsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/collectCmDiagnostics:
    post:
      summary: Start DataLake Cloudera Manager based diagnostics collection
      description: Start Datalake Cloudera Manager based diagnostics collection
      operationId: collectCmDiagnostics
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/CollectCmDiagnosticsRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/CollectCmDiagnosticsResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/getCmRoles:
    post:
      summary: Gather Cloudera Manager roles that can be used for filtering in CM based diagnostics collection.
      description: Gather Cloudera Manager roles that can be used for filtering in CM based diagnostics collection.
      operationId: getCmRoles
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetCmRolesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/GetCmRolesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/getOperation:
    post:
      summary: Used for retrieving operation status for the datalake cluster, defaulting to the most recent operation. Provide an operationId to view details of a specific historical operation.
      description: Used for retrieving operation status for the datalake cluster, defaulting to the most recent operation. Provide an operationId to view details of a specific historical operation.
      operationId: getOperation
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/GetOperationRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/GetOperationResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/rotateAutoTlsCertificates:
    post:
      summary: Rotate autotls certificates on the datalake's hosts
      description: Deprecated, please use rotate-private-certificates command instead. Rotate autotls certificates on the datalake's hosts
      operationId: rotateAutoTlsCertificates
      x-mutating: true
      x-deprecated: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RotateAutoTlsCertificatesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RotateAutoTlsCertificatesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/rotatePrivateCertificates:
    post:
      summary: Rotates private certificates on the datalake's hosts.
      description: Rotates private certificates on the datalake's hosts.
      operationId: rotatePrivateCertificates
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RotatePrivateCertificatesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RotatePrivateCertificatesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/describeDatabaseServer:
    post:
      summary: Gets external database server details.
      description: Gets external database server details for Data Lake by cluster CRN
      operationId: describeDatabaseServer
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/DescribeDatabaseServerRequest'
      responses:
        200:
          description: Database server details for the requested resource.
          schema:
            $ref: '#/definitions/DescribeDatabaseServerResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/validateAwsCloudStorage:
    post:
      summary: Validates AWS cloud storage.
      description: Validates AWS cloud storage for Data Lake.
      operationId: validateAwsCloudStorage
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ValidateAwsCloudStorageRequest'
      responses:
        200:
          description: AWS cloud storage validation result for Data Lake.
          schema:
            $ref: '#/definitions/ValidateAwsCloudStorageResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/validateAzureCloudStorage:
    post:
      summary: Validates Azure cloud storage.
      description: Validates Azure cloud storage for Data Lake.
      operationId: validateAzureCloudStorage
      x-mutating: false
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ValidateAzureCloudStorageRequest'
      responses:
        200:
          description: Azure cloud storage validation result for Data Lake.
          schema:
            $ref: '#/definitions/ValidateAzureCloudStorageResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/resizeDatalake:
    post:
      summary: Resizes the given datalake to the given target size.
      description: Resizes the datalake to the given size.
      operationId: resizeDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ResizeDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid resize datalake request.
          schema:
            $ref: '#/definitions/ResizeDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/scaleHorizontally:
    post:
      summary: Horizontally scale the Data Lake nodes, to add additional compute nodes to the cluster.
      description: Horizontally scale the target host group in the Data Lake cluster. The possible option for the instance group are raz_scale_out, hms_scale_out, kafka_scale_out, solr_scale_out, storage_scale_out
      operationId: scaleHorizontally
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/ScaleHorizontallyRequest'
      responses:
        200:
          description: Successful response to a valid Data Lake horizontal scaling request.
          schema:
            $ref: '#/definitions/ScaleHorizontallyResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/recoverDatalake:
    post:
      summary: Recover data lake to the original version after a failed upgrade.
      description: Recover data lake to the original version after a failed upgrade.
      operationId: recoverDatalake
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RecoverDatalakeRequest'
      responses:
        200:
          description: Expected response to a valid recover data lake request.
          schema:
            $ref: '#/definitions/RecoverDatalakeResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/setCatalog:
    post:
      summary: Sets a catalog for a DataLake.
      description: Sets a catalog for a DataLake.
      operationId: setCatalog
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/SetCatalogRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/SetCatalogResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/syncComponentVersionsFromCm:
    post:
      summary: Syncs component versions from CM after a failed upgrade.
      description: Syncs component versions from CM after a failed upgrade.
      x-no-compatibility-guarantee: true
      operationId: syncComponentVersionsFromCm
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/SyncComponentVersionsFromCmRequest'
      responses:
        200:
          description: Expected response to a valid sync datahub CM component versions request.
          schema:
            $ref: '#/definitions/SyncComponentVersionsFromCmResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/rotateSaltPassword:
    post:
      summary: Rotate SaltStack user password on DataLake instances.
      description: Deprecated, please use rotateSecrets with SALT_PASSWORD secretType instead.
      operationId: rotateSaltPassword
      x-mutating: true
      x-deprecated: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/RotateSaltPasswordRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/RotateSaltPasswordResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/updateOrchestratorState:
    post:
      summary: Run orchestrator engine state update on the Data Lake cluster.
      description: Run orchestrator engine state update on the Data Lake cluster.
      operationId: updateOrchestratorState
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateOrchestratorStateRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/UpdateOrchestratorStateResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/updateToAwsImdsV2:
    post:
      summary: Updates Data Lake AWS cluster to use IMDSv2.
      description: Updates Data Lake AWS cluster to use IMDSv2.
      operationId: updateToAwsImdsV2
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateToAwsImdsV2Request'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/UpdateToAwsImdsV2Response'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/updateToAwsImdsV1:
    post:
      summary: Updates Data Lake AWS cluster to use IMDSv1.
      description: Updates Data Lake AWS cluster to use IMDSv1.
      operationId: updateToAwsImdsV1
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdateToAwsImdsV1Request'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/UpdateToAwsImdsV1Response'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/migrateSkus:
    post:
      summary: Migrate the Data Lake to a new SKU.
      description: Migrate the Data Lake to a new SKU.
      operationId: migrateSkus
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/MigrateSkusRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/MigrateSkusResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
  /api/v1/datalake/updatePublicDnsEntries:
    post:
      summary: Update public DNS entries of a Data Lake cluster by name or CRN.
      description: Update public DNS entries of a Data Lake cluster by name or CRN.
      operationId: updatePublicDnsEntries
      x-mutating: true
      parameters:
        - name: input
          in: body
          required: true
          schema:
            $ref: '#/definitions/UpdatePublicDnsEntriesRequest'
      responses:
        200:
          description: Expected response to a valid request.
          schema:
            $ref: '#/definitions/UpdatePublicDnsEntriesResponse'
        default:
          description: The default response on an error.
          schema:
            $ref: '#/definitions/Error'
definitions:
  Error:
    type: object
    description: An object returned on an error.
    properties:
      code:
        type: string
        description: The error code.
      message:
        type: string
        description: The error message.
  ClouderaManagerDetails:
    type: object
    description: Cloudera Manager details.
    required:
      - version
      - clouderaManagerRepositoryURL
    properties:
      version:
        type: string
        description: Cloudera Manager version.
      clouderaManagerRepositoryURL:
        type: string
        description: Cloudera Manager repository URL.
      clouderaManagerServerURL:
        type: string
        description: Cloudera Manager server URL.
  ProductVersion:
    type: object
    description: Product version.
    required:
      - name
      - version
    properties:
      name:
        type: string
        description: The name of the product.
      version:
        type: string
        description: The version of the product.
  AWSConfiguration:
    type: object
    description: AWS configuration.
    properties:
      instanceProfile:
        type: string
        description: The instance profile used for the ID Broker instance.
  AzureConfiguration:
    type: object
    description: Azure configuration.
    properties:
      managedIdentity:
        type: string
        description: The managed identity used for the ID Broker instance.
  GCPConfiguration:
    type: object
    description: GCP configuration.
    properties:
      serviceAccountEmail:
        type: string
        description: The email id of the service account used for the ID Broker instance.
  StartDatalakeVerticalScalingRequest:
    type: object
    description: The request object for Data Lake vertical scaling.
    required:
      - datalake
      - group
    properties:
      datalake:
        type: string
        description: The name or CRN of the Data Lake.
      group:
        type: string
        description: The target group that requested vertical scaling.
      instanceTemplate:
        description: Instance template that specifies the core information for the vertical scale.
        $ref: '#/definitions/InstanceTemplate'
      diskOptions:
        description: Disk options for vertical scaling - modify disks.
        $ref: '#/definitions/DiskOptions'
  StartDatalakeVerticalScalingResponse:
    type: object
    description: The response object for Data Lake vertical scaling.
    properties:
      result:
        type: string
        description: The result of the operation.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  InstanceTemplate:
    type: object
    description: Instance template that specifies the core information for the vertical scale.
    properties:
      instanceType:
        type: string
        description: The type of the instance.
  DiskOptions:
    type: object
    description: Attached disk configuration(s).
    properties:
      modifyDisks:
        description: Modifies all the disks attached to all instances in a group.
        $ref: '#/definitions/ModifyDisks'
      addDisks:
        description: Adds the requested number of disks of the requested type, size, and usage type.
        $ref: '#/definitions/AddDisks'
  AddDisks:
    type: object
    description: Attached volume configuration.
    required:
      - numberOfDisks
      - volumeType
      - size
      - cloudVolumeUsageType
    properties:
      numberOfDisks:
        type: integer
        format: int32
        description: Number of disks to add on all the instances in a group.
      volumeType:
        type: string
        description: Type of disks to add on all the instances in a group.
      size:
        type: integer
        format: int32
        description: Size of disks to add on all the instances in a group in GB.
      cloudVolumeUsageType:
        type: string
        description: Usage for the requested disks.
        enum:
          - GENERAL
          - DATABASE
  ModifyDisks:
    type: object
    description: Attached volume configuration.
    required:
      - size
    properties:
      size:
        type: integer
        format: int32
        description: Size of disks to modify to on all the instances in a group in GB.
      volumeType:
        type: string
        description: Type of disks to modify to on all the instances in a group.
      diskType:
        type: string
        description: Whether to modify the root disk or additional disks.
        enum:
          - ROOT_DISK
          - ADDITIONAL_DISK
  DatalakeDetails:
    type: object
    description: Details about a datalake
    required:
      - datalakeName
      - crn
    properties:
      crn:
        type: string
        description: The CRN of the datalake.
      datalakeName:
        type: string
        description: The name of the datalake.
      status:
        type: string
        description: The status of the datalake.
      shape:
        $ref: '#/definitions/DatalakeScaleType'
        description: The shape of the datalake.
      environmentCrn:
        type: string
        description: The CRN of the environment.
      credentialCrn:
        type: string
        description: The CRN of credentials.
      cloudPlatform:
        type: string
        description: The cloud platform.
      instanceGroups:
        type: array
        items:
          $ref: '#/definitions/InstanceGroup'
        description: The instance details.
      creationDate:
        type: string
        format: date-time
        description: The date when the datalake was created.
      clouderaManager:
        $ref: '#/definitions/ClouderaManagerDetails'
        description: The Cloudera Manager details.
      productVersions:
        type: array
        items:
          $ref: '#/definitions/ProductVersion'
        description: The product versions.
      region:
        type: string
        description: The region of the datalake.
      statusReason:
        type: string
        description: The reason for the status of the datalake.
      awsConfiguration:
        $ref: '#/definitions/AWSConfiguration'
        description: The AWS configuration.
      azureConfiguration:
        $ref: '#/definitions/AzureConfiguration'
        description: The Azure configuration.
      gcpConfiguration:
        $ref: '#/definitions/GCPConfiguration'
        description: The GCP configuration.
      endpoints:
        $ref: '#/definitions/Endpoints'
        description: The exposed service api endpoints.
      cloudStorageBaseLocation:
        type: string
        description: The base location for the cloud storage used for the datalake.
      enableRangerRaz:
        type: boolean
        description: Whether Ranger RAZ is enabled for the datalake.
      imageDetails:
        $ref: '#/definitions/ImageInfo'
        description: The image details.
      tags:
        type: array
        description: Datalake tags object containing the tag values defined for the datalake.
        items:
          $ref: '#/definitions/DatalakeResourceTag'
  InstanceGroup:
    type: object
    description: The type of the instance group which also contains the actual instance(s)
    required:
      - name
      - instances
    properties:
      name:
        type: string
        description: The name of the instance group.
      instances:
        type: array
        items:
          $ref: '#/definitions/Instance'
        description: List of instances in this instance group.
      availabilityZones:
        type: array
        items:
          type: string
        description: List of availability zones that this instance group is associated with.
      recipes:
        type: array
        description: The recipe names for the Datalake cluster.
        items:
          type: string
  Instance:
    type: object
    description: Object which holds some details of an instance for the given cluster.
    required:
      - id
      - state
    properties:
      id:
        type: string
        description: The ID of the given instance.
      state:
        type: string
        description: The actual state of the instance.
      discoveryFQDN:
        type: string
        description: The FQDN of the instance.
      instanceStatus:
        $ref: '#/definitions/DatalakeInstanceStatus'
        description: The status of the instance.
      statusReason:
        type: string
        description: The reason for the current status of this instance.
      privateIp:
        type: string
        description: The private IP of the given instance.
      publicIp:
        type: string
        description: The public IP of the given instance.
      sshPort:
        type: integer
        format: int32
        description: The SSH port for the instance.
      clouderaManagerServer:
        type: boolean
        description: Whether the instance has Cloudera Manager deployed or not.
      instanceGroup:
        type: string
        description: The name of the instance group this instance belongs to.
      instanceTypeVal:
        $ref: '#/definitions/DatalakeInstanceType'
        description: The instance type.
      attachedVolumes:
        type: array
        description: List of volumes attached to this instance.
        items:
          $ref: '#/definitions/AttachedVolumeDetail'
      availabilityZone:
        type: string
        description: The availability zone of the instance.
      instanceVmType:
        type: string
        description: The VM type of the instance. Supported values depend on the cloud platform.
      rackId:
        type: string
        description: The rack ID of the instance in Cloudera Manager.
      subnetId:
        type: string
        description: The subnet ID of the instance.
  DatalakeInstanceStatus:
    type: string
    description: The status of the instance.
    enum:
      - REQUESTED
      - FAILED
      - CREATED
      - ORCHESTRATION_FAILED
      - SERVICES_RUNNING
      - SERVICES_HEALTHY
      - SERVICES_UNHEALTHY
      - WAITING_FOR_REPAIR
      - STOPPED
      - DELETED_ON_PROVIDER_SIDE
      - DELETED_BY_PROVIDER
      - DELETE_REQUESTED
      - DECOMMISSIONED
      - DECOMMISION_FAILED
      - TERMINATED
  DatalakeInstanceType:
    type: string
    description: The type of the instance.
    enum:
      - GATEWAY
      - GATEWAY_PRIMARY
      - CORE
  AttachedVolumeDetail:
    type: object
    description: The attached volume configuration.
    properties:
      count:
        type: integer
        format: int32
        description: The number of volumes.
      volumeType:
        type: string
        description: The type of volumes.
      size:
        type: integer
        format: int32
        description: The size of each volume in GB.
  Endpoints:
    type: object
    description: Object which holds the exposed endpoints for the given cluster.
    required:
      - endpoints
    properties:
      endpoints:
        type: array
        items:
          $ref: '#/definitions/Endpoint'
        description: The exposed API endpoints.
  Endpoint:
    type: object
    description: Object which holds the exposed endpoint.
    required:
      - serviceName
      - serviceUrl
      - displayName
      - knoxService
      - mode
      - open
    properties:
      serviceName:
        type: string
        description: The name of the exposed service
      serviceUrl:
        type: string
        description: The server url for the given exposed service's API.
      displayName:
        type: string
        description: The more consumable name of the exposed service.
      knoxService:
        type: string
        description: The related knox entry.
      mode:
        type: string
        description: The SSO mode of the given service.
      open:
        type: boolean
        description: The access status of the given endpoint. Whether its open or not.
  Datalake:
    type: object
    description: Information about a datalake.
    required:
      - datalakeName
      - crn
    properties:
      datalakeName:
        type: string
        description: The name of the datalake.
      crn:
        type: string
        description: The CRN of the datalake.
      status:
        type: string
        description: The status of the datalake.
      environmentCrn:
        type: string
        description: The CRN of the environment.
      creationDate:
        type: string
        format: date-time
        description: The date when the datalake was created.
      statusReason:
        type: string
        description: The reason for the status of the datalake.
      enableRangerRaz:
        type: boolean
        description: Whether Ranger RAZ is enabled for the datalake.
      certificateExpirationState:
        type: string
        description: Indicates the certificate status on the cluster.
        enum:
          - VALID
          - HOST_CERT_EXPIRING
      multiAz:
        type: boolean
        description: Flag which marks that the datalake is deployed in a multi-availability zone way or not.
      tags:
        type: array
        description: Datalake tags object containing the tag values defined for the datalake.
        items:
          $ref: '#/definitions/DatalakeResourceTag'
  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.
  DatalakeResourceGCPTagRequest:
    type: object
    description: A label that can be attached to GCP Data Lake resources. Please refer to Google documentation for the rules https://cloud.google.com/compute/docs/labeling-resources#label_format.
    required:
      - key
      - value
    properties:
      key:
        type: string
        description: The key of tag.
      value:
        type: string
        description: The value of the tag.
  DatalakeResourceTag:
    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.
  ListRuntimesRequest:
    type: object
    description: Request object for list datalake runtime versions.
  ListRuntimesResponse:
    type: object
    description: Response object for list datalake runtime versions.
    required:
      - versions
    properties:
      versions:
        type: array
        items:
          $ref: '#/definitions/Runtime'
        description: The list of datalake runtime versions.
  Runtime:
    type: object
    description: An advertised datalake runtime version.
    required:
      - runtimeVersion
      - defaultRuntimeVersion
    properties:
      runtimeVersion:
        type: string
        description: The actual version number.
      defaultRuntimeVersion:
        type: boolean
        description: Whether it is a default runtime version or not.
  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.
  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.
  GCPConfigurationRequest:
    type: object
    description: Request object for GCP configuration.
    required:
      - serviceAccountEmail
      - storageLocation
    properties:
      serviceAccountEmail:
        type: string
        description: Email id of the service account to be associated with the datalake IdBroker instance. This service account should have "token.creator" role for one or more storage accounts that has access to storage.
      storageLocation:
        type: string
        description: The location of the GCS bucket to be used as storage. The location has to start with gs:// followed by the bucket name.
  CreateAWSDatalakeRequest:
    type: object
    description: Request object for create AWS datalake request.
    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: '#/definitions/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: '#/definitions/DatalakeScaleType'
        x-no-compatibility-guarantee: true
      tags:
        type: array
        description: Tags to be added to Data Lake related resources.
        items:
          $ref: '#/definitions/DatalakeResourceTagRequest'
      runtime:
        type: string
        description: Cloudera Runtime version.
      image:
        $ref: '#/definitions/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: '#/definitions/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: '#/definitions/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
  CreateAWSDatalakeResponse:
    type: object
    description: Response object for create AWS datalake request.
    required:
      - datalake
    properties:
      datalake:
        $ref: '#/definitions/Datalake'
        description: The datalake.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  CreateAWSGovCloudDatalakeRequest:
    type: object
    description: Request object for createing AWS Data Lake request on GovCloud.
    required:
      - datalakeName
      - environmentName
      - cloudProviderConfiguration
    properties:
      datalakeName:
        type: string
        description: The Data Lake name. This name must be unique, must have between 5 and 100 characters, and must contain only lowercase letters, numbers and hyphens. Names are case-sensitive.
        minLength: 5
        maxLength: 100
      environmentName:
        type: string
        description: The environment name or CRN.
      cloudProviderConfiguration:
        $ref: '#/definitions/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: '#/definitions/DatalakeScaleType'
        x-no-compatibility-guarantee: true
      tags:
        type: array
        description: Tags to be added to Data Lake related resources.
        items:
          $ref: '#/definitions/DatalakeResourceTagRequest'
      runtime:
        type: string
        description: Cloudera Runtime version.
      image:
        $ref: '#/definitions/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.
      multiAz:
        type: boolean
        description: Controls if the datalake is deployed in a multi-availability zone way.
      recipes:
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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.
  CreateAWSGovCloudDatalakeResponse:
    type: object
    description: Response object for creating AWS Data Lake request on GovCloud.
    required:
      - datalake
    properties:
      datalake:
        $ref: '#/definitions/Datalake'
        description: The Data Lake.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  CreateAzureDatalakeRequest:
    type: object
    description: Request object for create Azure datalake request.
    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: '#/definitions/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: '#/definitions/DatalakeScaleType'
        x-no-compatibility-guarantee: true
      tags:
        type: array
        description: Tags to be added to Data Lake related resources.
        items:
          $ref: '#/definitions/DatalakeResourceTagRequest'
      runtime:
        type: string
        description: Cloudera Runtime version.
      image:
        $ref: '#/definitions/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: '#/definitions/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: '#/definitions/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: '#/definitions/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.
  CreateAzureDatalakeResponse:
    type: object
    description: Response object for create Azure datalake request.
    required:
      - datalake
    properties:
      datalake:
        $ref: '#/definitions/Datalake'
        description: The datalake.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  CreateGCPDatalakeRequest:
    type: object
    description: Request object for create GCP Data Lake request.
    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: '#/definitions/GCPConfigurationRequest'
        description: GCP configuration.
      tags:
        type: array
        description: Tags that can be attached to GCP Data Lake resources. Please refer to Google documentation for the rules https://cloud.google.com/compute/docs/labeling-resources#label_format.
        items:
          $ref: '#/definitions/DatalakeResourceGCPTagRequest'
      scale:
        description: The scale of the datalake. Allowed values are "LIGHT_DUTY" or "MEDIUM_DUTY_HA". Defaults to "LIGHT_DUTY" if not set.
        $ref: '#/definitions/DatalakeScaleType'
        x-no-compatibility-guarantee: true
      runtime:
        type: string
        description: Cloudera Runtime version.
      image:
        $ref: '#/definitions/ImageRequest'
        description: The image to use for the datalake. This must not be set if the runtime parameter is provided.
      recipes:
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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 GCP region.
  CreateGCPDatalakeResponse:
    type: object
    description: Response object for create GCP Data Lake request.
    required:
      - datalake
    properties:
      datalake:
        $ref: '#/definitions/Datalake'
        description: The datalake.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  DatalakeScaleType:
    type: string
    description: Represents the available datalake scales. Defaults to LIGHT_DUTY if not set.
    enum:
      - LIGHT_DUTY
      - MEDIUM_DUTY_HA
      - ENTERPRISE
  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
  ListDatalakesRequest:
    type: object
    description: Request object for list datalakes request.
    properties:
      environmentName:
        type: string
        description: The name or CRN of the environment for which the datalakes will be listed.
      datalakeName:
        type: string
        description: The name or CRN of the datalake for which details are requested.
  ListDatalakesResponse:
    type: object
    description: Response object for list datalakes request.
    required:
      - datalakes
    properties:
      datalakes:
        type: array
        items:
          $ref: '#/definitions/Datalake'
        description: The datalakes.
  DeleteDatalakeRequest:
    type: object
    description: Request object for delete datalake request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake to be deleted.
      force:
        type: boolean
        description: Whether the datalake should be force deleted. This option can be used when cluster deletion fails. This removes the entry from Cloudera Datalake service. Any lingering resources have to be deleted from the cloud provider manually. The default is false.
  DeleteDatalakeResponse:
    type: object
    description: Response object for delete datalake request.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RetryDatalakeResponse:
    type: object
    description: Response object for retry datalake request.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RetryDatalakeRequest:
    type: object
    description: Request object for retry datalake request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake to be retry on.
  DescribeDatalakeRequest:
    type: object
    description: Request object for describe datalake request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  DescribeDatalakeResponse:
    type: object
    description: Response object for describe datalake request.
    required:
      - datalake
    properties:
      datalake:
        $ref: '#/definitions/DatalakeDetails'
        description: The datalake.
  RenewCertificateRequest:
    type: object
    description: Request object for renew datalake certificate request, deprecated.
    x-deprecated: true
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  RepairDatalakeRequest:
    type: object
    description: Request object for repair datalake request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      instanceGroupNames:
        type: array
        items:
          type: string
        description: List of instance groups where the failed instances will be repaired.
      instanceGroupName:
        type: string
        description: The instance group where the failed instances will be repaired.
      instances:
        $ref: '#/definitions/RepairInstancesRequest'
        description: List of instances.
  RepairDatalakeResponse:
    type: object
    description: Response object for repair datalake request.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RepairInstancesRequest:
    type: object
    description: Details for repair instances.
    properties:
      instanceIds:
        type: array
        items:
          type: string
        description: List of instance ids.
  RestartDatalakeInstancesRequest:
    type: object
    description: Request object for restart datalake instances request.
    required:
      - datalakeName
      - instances
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      instances:
        type: array
        items:
          type: string
        description: List of instance ids.
  RestartDatalakeInstancesResponse:
    type: object
    description: Response object for restart datalake instances request.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  GetClusterServiceStatusRequest:
    type: object
    description: Request object to get service status.
    required:
      - clusterName
    properties:
      clusterName:
        type: string
        description: The name or CRN of the cluster.
  GetClusterServiceStatusResponse:
    type: object
    description: Response object to get service status.
    required:
      - services
    properties:
      services:
        type: array
        items:
          $ref: '#/definitions/ServiceStatus'
        description: The cluster services health.
  ServiceStatus:
    type: object
    description: Information about a cluster service.
    properties:
      type:
        type: string
        description: The service type.
      state:
        type: string
        description: The service state.
      healthSummary:
        type: string
        description: The service health summary.
      healthChecks:
        type: array
        items:
          $ref: '#/definitions/HealthCheck'
        description: The service health checks.
  HealthCheck:
    type: object
    description: The result of a health check.
    properties:
      name:
        type: string
        description: The name of service health check.
      summary:
        type: string
        description: The service health check summary.
  GetClusterHostStatusRequest:
    type: object
    description: Request object to get host status.
    required:
      - clusterName
    properties:
      clusterName:
        type: string
        description: The name or CRN of the cluster.
  GetClusterHostStatusResponse:
    type: object
    description: Response object for getting host status.
    required:
      - hosts
    properties:
      hosts:
        type: array
        items:
          $ref: '#/definitions/HostStatus'
        description: The cluster hosts status.
  HostStatus:
    type: object
    description: Information about cluster host status.
    properties:
      hostid:
        type: string
        description: Unique identifier of the cluster host given by Cloudera Manager.
      hostname:
        type: string
        description: The cluster hostname.
      healthSummary:
        type: string
        description: The host health summary.
  StartDatalakeRequest:
    type: object
    description: Request object to start a datalake, deprecated.
    x-deprecated: true
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  StartDatalakeResponse:
    type: object
    description: Response object of starting a datalake, deprecated.
    x-deprecated: true
  RotateDbCertificateRequest:
    type: object
    description: Request object to rotate ssl certificate a datalake.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  RotateDbCertificateResponse:
    type: object
    description: Response object to rotate ssl certificate a datalake.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  StopDatalakeRequest:
    type: object
    description: Request object to stop a datalake, deprecated.
    x-deprecated: true
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalakeName.
  StopDatalakeResponse:
    type: object
    description: Response object of stopping a datalake, deprecated.
    x-deprecated: true
  BackupDatalakeRequest:
    type: object
    description: Request object to perform a backup of datalake.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name of the datalake.
      backupLocation:
        type: string
        description: Location where the back-up has to be stored. For example s3a://Location/of/the/backup.
      backupName:
        type: string
        description: The name of the backup.
      closeDbConnections:
        type: boolean
        default: true
        description: Close the database connections while performing backup. Default is true.
      skipRangerHmsMetadata:
        type: boolean
        description: Skips the backup of the databases backing HMS/Ranger services. If this option is not provided, the HMS/Ranger services are backed up by default.
      skipAtlasMetadata:
        type: boolean
        description: Skips the backup of the Atlas metadata. If this option is not provided, the Atlas metadata is backed up by default.
      skipRangerAudits:
        type: boolean
        description: Skips the backup of the Ranger audits. If this option is not provided, Ranger audits are backed up by default.
      skipAtlasIndexes:
        type: boolean
        description: Skips the backup of the Atlas indexes. If this option or --skipAtlasMetadata is not provided, Atlas indexes are backed up by default. Redundant if --skipAtlasMetadata is included.
      skipValidation:
        type: boolean
        description: Skips the validation steps that run prior to the backup. If this option is not provided, the validations are performed by default.
      validationOnly:
        type: boolean
        description: Runs only the validation steps and then returns. If this option is not provided, the backup is performed as normal by default.
  BackupDatalakeResponse:
    type: object
    description: Response object to a request made for backup of datalake.
    required:
      - accountId
      - backupId
      - userCrn
      - internalState
      - status
      - startTime
      - endTime
      - backupLocation
      - operationStates
    properties:
      accountId:
        type: string
        description: Account where the datalake exists.
      backupId:
        type: string
        description: Unique identifier for the backup requested.
      userCrn:
        type: string
        description: Crn of the user who triggered this operation.
      internalState:
        type: string
        description: Provides the details of the internal state where the backup operation stands.
      status:
        type: string
        description: Provide the current status.
      startTime:
        type: string
        description: Time when the backup operation started.
      endTime:
        type: string
        description: Time when the backup operation ended.
      backupLocation:
        type: string
        description: Location of the backup to be used to perform restore.
      operationStates:
        $ref: '#/definitions/InternalBackupRestoreState'
        description: Provides the details of the internal state of each operation.
      runtimeVersion:
        type: string
        description: The runtime version of the datalake when the backup was taken.
      backupName:
        type: string
        description: Name of the backup.
      failureReason:
        type: string
        description: Reason for the failure.
  BackupDatalakeStatusRequest:
    type: object
    description: Request object to get the status of datalake backup. Returns the status of the latest backup that matches the provided input.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name of the datalake. When backupName and backupId are not provided, status request will get the status of the latest backup operation performed on the given datalake.
      backupName:
        type: string
        description: The name of the backup. When provided, the status request will get the status of the latest backup performed with the given backup name on the given datalake.
      backupId:
        type: string
        description: Unique identifier of the backup performed. When provided, the status request will get the status entry that has the backupid provided.
  BackupDatalakeStatusResponse:
    type: object
    description: Response object to get the status of datalake backup status request.
    required:
      - accountId
      - backupId
      - userCrn
      - internalState
      - status
      - startTime
      - endTime
      - backupLocation
      - operationStates
    properties:
      accountId:
        type: string
        description: Account where the datalake exists.
      backupId:
        type: string
        description: Unique identifier for the backup requested.
      userCrn:
        type: string
        description: Crn of the user who triggered this operation.
      internalState:
        type: string
        description: Provides the details of the internal state where the backup operation stands.
      status:
        type: string
        description: Provide the current status.
      startTime:
        type: string
        description: Time when the backup operation started.
      endTime:
        type: string
        description: Time when the backup operation ended.
      backupLocation:
        type: string
        description: Location of the backup to be used to perform restore.
      operationStates:
        $ref: '#/definitions/InternalBackupRestoreState'
        description: Provides the details of the internal state of each operation.
      runtimeVersion:
        type: string
        description: The runtime version of the datalake when the backup was taken.
      backupName:
        type: string
        description: Name of the backup.
      failureReason:
        type: string
        description: Reason for the failure.
      totalPredictedDurationInMinutes:
        type: string
        description: Predicted total duration for the backup process, in minutes.
  RestoreDatalakeRequest:
    type: object
    description: Request to restore datalake from backup. Restore does not restore the database by default.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name of the datalake to be restored. When backupId is not provided, the most recent successful backup on datalake with the provided name would be used.
      backupId:
        type: string
        description: The ID of the backup to be used to perform a restore. The ID could refer to backup of any datalake in the same account. This is the only way to restore from a backup that was taken on a datalake with a different name. This field is required if the --backup-location-override field is used.
      backupName:
        type: string
        description: The name of the backup. When provided, the restore will be performed using the latest successful backup whose name matches the parameter, and that was taken from the datalake that is being restored.
      includeDatabase:
        type: boolean
        description: DEPRECATED - The database is included in the restore by default. To skip it, use the --skip-ranger-hms-metadata flag.
      skipRangerHmsMetadata:
        type: boolean
        description: Skips the restore of the databases backing HMS/Ranger services. If this option is not provided, then by default the Atlas lineage will be restored if the backup used includes the Atlas lineage information.
      skipAtlasMetadata:
        type: boolean
        description: Skips the restore of the Atlas metadata. If this option is not provided, then by default the Atlas metadata will be restored if the backup used includes the Atlas metadata.
      skipRangerAudits:
        type: boolean
        description: Skips the restore of the Ranger audits. If this option is not provided, then by default the Ranger audits will be restored if the backup used includes the Ranger audits.
      skipAtlasIndexes:
        type: boolean
        description: Skips the restore of the Atlas indexes. If this option or --skipAtlasMetadata is not provided, then by default the Atlas indexes will be restored if the backup used includes the Atlas indexes. Redundant if --skipAtlasMetadata is included.
      backupLocationOverride:
        type: string
        description: Backup location. When provided, will be used to lookup the backup. If provided, the --backup-id parameter is required.
      skipValidation:
        type: boolean
        description: Skips the validation steps that run prior to the restore. If this option is not provided, the validations are performed by default.
      validationOnly:
        type: boolean
        description: Runs only the validation steps and then returns. If this option is not provided, the restore is performed as normal by default.
  RestoreDatalakeResponse:
    type: object
    description: Response object to a request to perform restore of datalake.
    required:
      - accountId
      - restoreId
      - backupId
      - userCrn
      - internalState
      - status
      - startTime
      - endTime
      - backupLocation
      - operationStates
    properties:
      accountId:
        type: string
        description: Account where the datalake exists.
      restoreId:
        type: string
        description: Unique identifier of the restore operation performed.
      backupId:
        type: string
        description: Unique identifier of the backup used to perform restore.
      userCrn:
        type: string
        description: Crn of the user who triggered this operation.
      internalState:
        type: string
        description: Provides the details of the internal state where the restore operation stands.
      status:
        type: string
        description: Provide the current status.
      startTime:
        type: string
        description: Time when the backup operation started.
      endTime:
        type: string
        description: Time when the backup operation ended.
      backupLocation:
        type: string
        description: Location of the backup to be used to perform restore.
      operationStates:
        $ref: '#/definitions/InternalBackupRestoreState'
        description: Provides the details of the internal state of each operation.
      backupName:
        type: string
        description: Name of the backup.
      failureReason:
        type: string
        description: Reason for the failure.
      runtimeVersion:
        type: string
        description: The runtime version of the datalake when the restore was initiated.
  RestoreDatalakeStatusRequest:
    type: object
    description: Request object to get the status of a restore operation.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name of the Data Lake for which the most recent restore status will be retrieved.
      restoreId:
        type: string
        description: Unique identifier of the restore operation performed.
  RestoreDatalakeStatusResponse:
    type: object
    description: Response object with information on last restore operation on a datalake.
    required:
      - accountId
      - restoreId
      - backupId
      - userCrn
      - internalState
      - status
      - startTime
      - endTime
      - backupLocation
      - operationStates
    properties:
      accountId:
        type: string
        description: Account where the datalake exists.
      restoreId:
        type: string
        description: Unique identifier of the restore operation performed.
      backupId:
        type: string
        description: Unique identifier of the backup used to perform restore.
      userCrn:
        type: string
        description: Crn of the user who triggered this operation.
      internalState:
        type: string
        description: Provides the details of the internal state where the restore operation stands.
      status:
        type: string
        description: Provide the current status.
      startTime:
        type: string
        description: Time when the backup operation started.
      endTime:
        type: string
        description: Time when the backup operation ended.
      backupLocation:
        type: string
        description: Location of the backup to be used to perform restore.
      operationStates:
        $ref: '#/definitions/InternalBackupRestoreState'
        description: Provides the details of the internal state of each operation.
      backupName:
        type: string
        description: Name of the backup.
      failureReason:
        type: string
        description: Reason for the failure.
      runtimeVersion:
        type: string
        description: The runtime version of the datalake when the restore was initiated.
  ListDatalakeBackupsRequest:
    type: object
    description: Request object to get the list of backup operations performed on a datalake.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name of the datalake.
  ListDatalakeBackupsResponse:
    type: object
    description: Response object with the list of backup operations performed on a datalake.
    properties:
      backups:
        type: array
        description: Backup object with details of backup performed.
        items:
          $ref: '#/definitions/DatalakeBackup'
  CancelBackupRequest:
    type: object
    description: The request to cancel a backup operation.
    required:
      - backupId
    properties:
      backupId:
        type: string
        description: Backup-id that identifies the backup to be cancelled.
      force:
        type: boolean
        default: false
        description: Will mark all unfinished operations as cancelled without waiting for their result and mark backup operation as finished (cancelled, successful or failed) immediately.
  CancelBackupResponse:
    type: object
    description: Response to the cancel backup request.
    required:
      - result
    properties:
      result:
        type: string
        description: Result of the cancel backup request. It can contain a description of the current process state or guidelines to a customer on the next steps.
  CancelRestoreRequest:
    type: object
    description: Details of the restore that has to be cancelled.
    required:
      - restoreId
    properties:
      restoreId:
        type: string
        description: Restore-id that identifies the restore to be cancelled.
      force:
        type: boolean
        default: false
        description: Mark the operation as cancelled regardless of the progress.
  CancelRestoreResponse:
    type: object
    description: Response to restore invalidation request.
    required:
      - result
    properties:
      result:
        type: string
        description: Result of the invalidation request.
  DatalakeBackup:
    type: object
    description: Backup object with details of backup performed.
    required:
      - backupName
      - accountId
      - userCrn
      - backupId
      - internalState
      - status
      - startTime
      - endTime
      - backupLocation
      - failureReason
    properties:
      backupName:
        type: string
        description: Name of the backup.
      accountId:
        type: string
        description: Account where the datalake exists.
      userCrn:
        type: string
        description: Crn of the user who triggered this operation.
      backupId:
        type: string
        description: Request to perform a from a specific status for a specific backup. Else, status of the last backup performed will be returned.
      internalState:
        type: string
        description: Provides the details of the internal state where the backup operation stands.
      status:
        type: string
        description: Provide the current status.
      startTime:
        type: string
        description: Time when the backup operation started.
      endTime:
        type: string
        description: Time when the backup operation ended.
      backupLocation:
        type: string
        description: Location of the backup to be used to perform restore.
      failureReason:
        type: string
        description: Reason for the failure.
  InternalBackupRestoreState:
    type: object
    description: Object representing the state of each service running a backup.
    required:
      - adminOperations
      - hbase
      - solr
      - database
    properties:
      adminOperations:
        $ref: '#/definitions/AdminOperationsBackupRestoreState'
        description: Admin operations executed via Cloudera Manager for starting and stopping services.
      hbase:
        $ref: '#/definitions/HbaseBackupRestoreState'
        description: Hbase operations to backup or restore Atlas metadata tables.
      solr:
        $ref: '#/definitions/SolrBackupRestoreState'
        description: Solr operations to backup up the edge, fulltext, ranger_audit, and vertex tables, or to delete/restore those tables.
      database:
        $ref: '#/definitions/DatabaseBackupRestoreState'
        description: Postgres operations to backup or restore the data lake metadata.
  AdminOperationsBackupRestoreState:
    type: object
    description: The state of Cloudera Manager admin operations.
    required:
      - stopServices
      - startServices
      - precheckStoragePermission
      - rangerAuditCollectionValidation
    properties:
      stopServices:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the stop services operation that is triggered before the backup/restore is started.
      startServices:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the start services operation this is triggered after the backup/restore is complete.
      precheckStoragePermission:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: Validate storage permissions before running a backup/restore.
      rangerAuditCollectionValidation:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: Run the ranger audit collection validation in the backup precheck.
      dryRunValidation:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: Run the dry run validation in the backup/restore precheck
  HbaseBackupRestoreState:
    type: object
    description: The state of each HBase backup/restore operation.
    required:
      - atlasEntityAuditEventTable
      - atlasJanusTable
    properties:
      atlasEntityAuditEventTable:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the ATLAS_ENTITY_AUDIT_EVENTS_TABLE backup/restore.
      atlasJanusTable:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the ATLAS_JANUS_TABLE backup/restore.
  SolrBackupRestoreState:
    type: object
    description: The state of each Solr backup/restore operation.
    required:
      - edgeIndexCollection
      - fulltextIndexCollection
      - rangerAuditsCollection
      - vertexIndexCollection
    properties:
      edgeIndexCollection:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the EDGE_INDEX_COLLECTION backup/restore.
      fulltextIndexCollection:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the FULLTEXT_INDEX_COLLECTION backup/restore.
      rangerAuditsCollection:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the RANGER_AUDITS_COLLECTION backup/restore.
      vertexIndexCollection:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the VERTEX_INDEX_COLLECTION backup/restore.
      edgeIndexCollectionDelete:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the EDGE_INDEX_COLLECTION deletion, which is done before a restore.
      fulltextIndexCollectionDelete:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the FULLTEXT_INDEX_COLLECTION deletion, which is done before a restore.
      rangerAuditsCollectionDelete:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the RANGER_AUDITS_COLLECTION deletion, which is done before a restore.
      vertexIndexCollectionDelete:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the VERTEX_INDEX_COLLECTION deletion, which is done before a restore.
  DatabaseBackupRestoreState:
    type: object
    description: The state of the database backup/restore operation.
    required:
      - database
    properties:
      database:
        $ref: '#/definitions/BackupRestoreOperationStatus'
        description: The status of the database backup/restore.
  BackupRestoreOperationStatus:
    type: object
    description: Contains the status and failure reason of an operation.
    required:
      - status
    properties:
      status:
        type: string
        description: The status of the backup or restore operation.
      failureReason:
        type: string
        description: The failure reason if the operation was not successful.
      durationInMinutes:
        type: string
        description: The duration of each operation, in minutes.
      predictedDurationInMinutes:
        type: string
        description: Predicted duration of the operation, in minutes.
  ImageComponentVersions:
    type: object
    description: Versions of the image components
    properties:
      cm:
        type: string
        description: Version of CM
      cmGBN:
        type: string
        description: GBN of CM
      cdp:
        type: string
        description: CDP version
      cdpGBN:
        type: string
        description: CDP GBN
      os:
        type: string
        description: OS name
      osPatchLevel:
        type: string
        description: OS patch level
  ImageInfo:
    type: object
    description: Basic information about an image.
    properties:
      imageName:
        type: string
        description: The name of the image.
      imageId:
        type: string
        description: The id of the image.
      imageCatalogName:
        type: string
        description: Name of the image catalog, the image is from.
      created:
        type: integer
        format: int64
        description: Image creation timestamp
      componentVersions:
        $ref: '#/definitions/ImageComponentVersions'
        description: Version of the image components
  UpgradeDatalakeRequest:
    type: object
    description: Request object to upgrade datalake.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      imageId:
        type: string
        description: The id of an image to upgrade to
      runtime:
        type: string
        description: The runtime version to upgrade to
      lockComponents:
        type: boolean
        description: Perform an os upgrade only
      dryRun:
        type: boolean
        description: Checks the eligibility of an image to upgrade
      showAvailableImages:
        type: boolean
        description: Returns the list of images that are eligible for the upgrade
      showLatestAvailableImagePerRuntime:
        type: boolean
        description: Returns the latest image that is eligible for the upgrade for each runtime version with at least one available upgrade candidate
      skipBackup:
        type: boolean
        description: If provided, will skip the backup flow for the upgrade process.
      skipRangerHmsMetadata:
        type: boolean
        description: Skips the backup of the databases backing HMS/Ranger services. Redundant if --skip-backup is included. If this option is not provided, the HMS/Ranger services are backed up by default.
      skipAtlasMetadata:
        type: boolean
        description: Skips the backup of the Atlas metadata. Redundant if --skip-backup is included. If this option is not provided, the Atlas metadata is backed up by default.
      skipRangerAudits:
        type: boolean
        description: Skips the backup of the Ranger audits. Redundant if --skip-backup is included. If this option is not provided, Ranger audits are backed up by default.
      skipBackupValidation:
        type: boolean
        description: Skips the validation steps that run prior to the backup. Redundant if --skip-backup is included. If this option is not provided, the validations are performed by default.
      rollingUpgradeEnabled:
        type: boolean
        description: Enables the ability to perform rolling runtime upgrade.
  UpgradeDatalakeResponse:
    type: object
    description: Response object for upgrade datalake request.
    properties:
      current:
        $ref: '#/definitions/ImageInfo'
        description: Information about the current image
      upgradeCandidates:
        type: array
        description: List of images and components to upgrade to
        items:
          $ref: '#/definitions/ImageInfo'
          description: Information about an image
      reason:
        type: string
        description: The reason why upgrade is not possible
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  PrepareDatalakeUpgradeRequest:
    type: object
    description: Request object to prepare Data Lake upgrade. This command indicates the upgrade preparation for a specific image or a selected runtime version. Important to note that the imageId or the runtime parameter must be present in the request.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the Data Lake cluster.
      imageId:
        type: string
        description: The ID of an image to upgrade to
      runtime:
        type: string
        description: The runtime version to upgrade to
  PrepareDatalakeUpgradeResponse:
    type: object
    description: Response object for prepare Data Lake upgrade request.
    properties:
      current:
        $ref: '#/definitions/ImageInfo'
        description: Information about the current image
      upgradeCandidates:
        type: array
        description: List of images and components to upgrade to
        items:
          $ref: '#/definitions/ImageInfo'
          description: Information about an image
      reason:
        type: string
        description: The reason why upgrade is not possible
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  StartDatabaseUpgradeRequest:
    type: object
    description: Request object for Data Lake database upgrade.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the Data Lake.
      targetVersion:
        type: string
        description: The database engine major version to upgrade to.
        enum:
          - VERSION_11
          - VERSION_14
          - VERSION_17
      force:
        type: boolean
        description: Start the database upgrade flow even if the source and target versions are the same. Can be used to reinitiate an upgrade after a failure.
  StartDatabaseUpgradeResponse:
    type: object
    description: Response object to Data Lake database upgrade.
    properties:
      targetVersion:
        type: string
        description: The database engine major version to upgrade to.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  DatalakeVmLogRequest:
    type: object
    description: Log descriptor, contains a path and label pair. Used for diagnostics collections.
    required:
      - path
      - label
    properties:
      path:
        type: string
        description: Path of the log file(s) that needs to be collected. (Can be glob wildcard)
      label:
        type: string
        description: Label that will be used to identify a log descriptor. (will be used as a folder inside logs folder)
  DatalakeVmLogResponse:
    type: object
    description: Log descriptor, contains a path and label pair. Used for diagnostics collections.
    properties:
      path:
        type: string
        description: Path of the log file(s) that needs to be collected. (Can be glob wildcard)
      label:
        type: string
        description: Label that will be used to identify a log descriptor. (will be used as a folder inside logs folder)
  CollectDatalakeDiagnosticsRequest:
    type: object
    description: Request object for collecting DataLake diagnostics.
    required:
      - crn
      - destination
      - description
    properties:
      crn:
        type: string
        description: CRN of the Datalake cluster.
      destination:
        type: string
        enum:
          - SUPPORT
          - CLOUD_STORAGE
          - ENG
          - LOCAL
        description: Destination of the diagnostics collection (Support, Own cloud storage, Engineering or collect only on the nodes)
      description:
        type: string
        description: Additional information / title for the diagnostics collection.
      caseNumber:
        type: string
        description: Optional support case number in case of SUPPORT destination, otherwise only act as additional data.
      labels:
        type: array
        description: Array of labels that can filter logs that are collected during diagnostics collection.
        uniqueItems: true
        items:
          type: string
      startDate:
        type: string
        format: date-time
        description: Date timestamp - collect files only for diagnostics that has higher last modified timestamp value than this.
      endDate:
        type: string
        format: date-time
        description: Date timestamp - collect files only for diagnostics that has lower created timestamp value than this.
      additionalLogs:
        type: array
        description: Array of log descriptors that should be additionally collected during diagnostics collection.
        items:
          $ref: '#/definitions/DatalakeVmLogRequest'
      hosts:
        type: array
        description: Array of host names (fqdn), collection will run only on the dedicated hosts.
        uniqueItems: true
        items:
          type: string
      hostGroups:
        type: array
        description: Array of host groups, collection will run only on the dedicated hosts that belongs to these host groups.
        uniqueItems: true
        items:
          type: string
      excludeHosts:
        type: array
        description: Array of host names (fqdn or IP address), collection will not run on the excluded hosts.
        uniqueItems: true
        items:
          type: string
      skipUnresponsiveHosts:
        type: boolean
        description: Skip unhealthy hosts from the diagnostics collection.
      includeNginxReport:
        type: boolean
        description: Include Nginx report generated by GoAccess (if available).
      includeSaltLogs:
        type: boolean
        description: Include salt minion/master/api system logs in the diagnostics collection.
      includeSarOutput:
        type: boolean
        description: Include SAR (System Activity Report) generated outputs in the diagnostics collection (if available).
      updatePackage:
        type: boolean
        default: false
        description: If enabled, required package (cdp-telemetry) will be upgraded or installed on the nodes. (useful if package is not installed or needs to be upgraded) Network is required for this operation.
      storageValidation:
        type: boolean
        default: false
        description: Enable/disable node level storage validation (can be disabled for example, if you have too many hosts and do not want to do too much parallel writes to s3/abfs)
  CollectDatalakeDiagnosticsResponse:
    type: object
    description: Response object for collecting DataLake diagnostics.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  ListDatalakeDiagnosticsRequest:
    type: object
    description: Request object for listing recent Datalake diagnostics collections.
    required:
      - crn
    properties:
      crn:
        type: string
        description: CRN of the Datalake cluster.
  ListDatalakeDiagnosticsResponse:
    type: object
    description: Response object for listing recent Datalake diagnostics collections.
    properties:
      collections:
        type: array
        description: description.
        items:
          $ref: '#/definitions/DatalakeDiagnosticsCollectionResponse'
  DatalakeDiagnosticsCollectionResponse:
    type: object
    description: Response object for diagnostic collection flow details.
    properties:
      status:
        type: string
        description: Status of the diagnostics collection flow.
        enum:
          - RUNNING
          - FAILED
          - FINISHED
          - CANCELLED
      flowId:
        type: string
        description: Flow ID of the diagnostics collection flow.
      flowState:
        type: string
        description: Current state of the diagnostics collection flow.
      created:
        type: string
        format: date-time
        description: Creation date of the diagnostics collection flow.
      progressPercentage:
        type: integer
        description: Progress percentage of the diagnostics collection flow (maximum value if finished).
        format: int32
      collectionDetails:
        $ref: '#/definitions/DatalakeDiagnosticsCollectionDetailsResponse'
        description: Additional details about the diagnostics collection.
  DatalakeDiagnosticsCollectionDetailsResponse:
    type: object
    description: Response object for diagnostic collection collection details.
    properties:
      case:
        type: string
        description: Case number for the diagnostics collection.
      output:
        type: string
        description: Output destination of the diagnostics collection.
      destination:
        type: string
        description: Destination type of the diagnostics collection.
      description:
        type: string
        description: Description of the diagnostics collection.
      accountId:
        type: string
        description: Account Id that was used for the diagnostics collection.
      resourceCrn:
        type: string
        description: Crn of the cluster.
      clusterVersion:
        type: string
        description: Version of the cluster that was used for the diagnostics collection.
  CancelDatalakeDiagnosticsRequest:
    type: object
    description: Request object for cancel running Datalake diagnostics collections.
    required:
      - crn
    properties:
      crn:
        type: string
        description: CRN of the Datalake cluster.
  CancelDatalakeDiagnosticsResponse:
    type: object
    description: Response object for cancel running Datalake diagnostics collections.
  CollectCmDiagnosticsRequest:
    type: object
    description: Request object for collecting DataLake diagnostics.
    required:
      - crn
      - destination
    properties:
      crn:
        type: string
        description: CRN of the Datalake cluster.
      destination:
        type: string
        enum:
          - SUPPORT
          - CLOUD_STORAGE
          - LOCAL
        description: Destination of the diagnostics collection (Support, Own cloud storage, Engineering or collect only on the nodes)
      description:
        type: string
        description: Additional information / title for the diagnostics collection.
      caseNumber:
        type: string
        description: Optional support case number in case of SUPPORT destination, otherwise only act as additional data.
      roles:
        type: array
        description: Array of roles for which to get logs and metrics. If set, this restricts the roles for log and metrics collection.
        uniqueItems: true
        items:
          type: string
      startDate:
        type: string
        format: date-time
        description: Restrict collected logs and metrics (from the provided date timestamp).
      endDate:
        type: string
        format: date-time
        description: Restrict collected logs and metrics (until the provided date timestamp).
      updatePackage:
        type: boolean
        default: false
        description: If enabled, required package (cdp-telemetry) will be upgraded or installed on the nodes. (useful if package is not installed or needs to be upgraded) Network is required for this operation.
      storageValidation:
        type: boolean
        default: false
        description: Enable/disable node level storage validation (can be disabled for example, if you have too many hosts and do not want to do too much parallel writes to s3/abfs)
      monitorMetricsCollection:
        type: boolean
        default: false
        description: Flag to enable collection of metrics for chart display in CM based diagnostics collection.
      bundleSizeLimit:
        type: integer
        format: int32
        description: Diagnostics bundle size limit in MB.
  CollectCmDiagnosticsResponse:
    type: object
    description: Response object for collecting DataLake diagnostics.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  GetCmRolesRequest:
    type: object
    description: Request object for obtaining Cloudera Manger roles. (that can be used for filtering in CM based diagnostics collection)
    required:
      - crn
    properties:
      crn:
        type: string
        description: CRN of the Datalake cluster.
  GetCmRolesResponse:
    type: object
    description: Response object for obtaining Cloudera Manger roles. (that can be used for filtering in CM based diagnostics collection)
    properties:
      roles:
        type: array
        description: Array of CM roles. (useful for CM based diagnostics collection filtering)
        items:
          type: string
  GetDatalakeLogDescriptorsRequest:
    type: object
    description: Request object for obtaining log descriptors. (that are used for diagnostics collection)
  GetDatalakeLogDescriptorsResponse:
    type: object
    description: Response object for obtaining log descriptors. (useful for diagnostics collection filtering)
    properties:
      logs:
        type: array
        description: Array of log descriptors. (useful for diagnostics collection filtering)
        items:
          $ref: '#/definitions/DatalakeVmLogResponse'
  GetOperationRequest:
    type: object
    description: Request object for tracking the latest (current/last) operation on the datalake resource.
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datahub.
      crn:
        type: string
        description: CRN of the datalake resource, deprecated.
        x-deprecated: true
      operationId:
        type: string
        description: Filter by operation id.
  GetOperationResponse:
    type: object
    description: Response object for tracking the latest (current/last) operation on the datalake resource.
    properties:
      operationId:
        type: string
        description: Identifier of the operation.
      operationName:
        type: string
        description: Name of the operation.
      operationStatus:
        type: string
        description: Status of the operation.
        enum:
          - UNKNOWN
          - RUNNING
          - FAILED
          - FINISHED
          - CANCELLED
      started:
        type: string
        format: date-time
        description: Start time of the operation.
      ended:
        type: string
        format: date-time
        description: End time of the operation.
  RotateAutoTlsCertificatesRequest:
    type: object
    description: Request object to rotate autotls certificates on datalake's hosts, deprecated.
    x-deprecated: true
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  RotateAutoTlsCertificatesResponse:
    type: object
    description: Response object to rotate autotls certificates on datalake's hosts, deprecated.
    x-deprecated: true
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RenewCertificateResponse:
    type: object
    description: Response object for renew certificate request, deprecated.
    x-deprecated: true
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  DescribeDatabaseServerRequest:
    type: object
    description: Request object for obtaining Database Server details.
    properties:
      clusterCrn:
        description: Stack CRN of the Data Lake
        type: string
  DescribeDatabaseServerResponse:
    type: object
    description: Response object for obtaining Database Server details.
    properties:
      crn:
        type: string
        description: CRN of the database server
      name:
        type: string
        description: Name of the database server
      description:
        type: string
        description: Description of the database server
      environmentCrn:
        type: string
        description: CRN of the environment of the database server
      host:
        type: string
        description: Host of the database server
      port:
        type: integer
        format: int32
        description: Port of the database server
      databaseVendor:
        type: string
        description: Name of the database vendor (MYSQL, POSTGRES, ...)
      databaseVendorDisplayName:
        type: string
        description: Display name of the database vendor (MySQL, PostgreSQL, ...)
      creationDate:
        type: string
        format: date-time
        description: Creation date of the database server
      resourceStatus:
        type: string
        description: Ownership status of the database server
        enum:
          - UNKNOWN
          - SERVICE_MANAGED
          - USER_MANAGED
      status:
        type: string
        description: Status of the database server stack
        enum:
          - REQUESTED
          - CREATE_IN_PROGRESS
          - AVAILABLE
          - UPDATE_IN_PROGRESS
          - UPDATE_REQUESTED
          - UPDATE_FAILED
          - CREATE_FAILED
          - ENABLE_SECURITY_FAILED
          - DELETE_REQUESTED
          - PRE_DELETE_IN_PROGRESS
          - DELETE_IN_PROGRESS
          - DELETE_FAILED
          - DELETE_COMPLETED
          - STOPPED
          - STOP_REQUESTED
          - START_REQUESTED
          - STOP_IN_PROGRESS
          - START_IN_PROGRESS
          - START_FAILED
          - STOP_FAILED
          - WAIT_FOR_SYNC
          - MAINTENANCE_MODE_ENABLED
          - UNKNOWN
      statusReason:
        type: string
        description: Additional status information about the database server stack
      clusterCrn:
        type: string
        description: CRN of the cluster of the database server
      sslConfig:
        description: SSL configuration of the database server
        $ref: '#/definitions/DatabaseServerSslConfig'
  DatabaseServerSslConfig:
    description: SSL configuration for the database server
    type: object
    properties:
      sslCertificates:
        type: array
        description: Set of SSL certificates for the actual database server
        uniqueItems: true
        items:
          type: string
      sslCertificateType:
        type: string
        description: SSL certificate type
        enum:
          - CLOUD_PROVIDER_OWNED
          - BRING_YOUR_OWN
          - NONE
      sslMode:
        type: string
        description: SSL enforcement mode for the actual database server
        enum:
          - ENABLED
          - DISABLED
  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.
  ValidateAwsCloudStorageRequest:
    type: object
    description: Request object for AWS cloud storage validation.
    required:
      - clusterName
      - dataAccessRole
      - rangerAuditRole
      - credentialCrn
      - blueprintName
      - storageLocation
      - instanceProfile
    properties:
      clusterName:
        description: Datalake cluster name.
        type: string
      dataAccessRole:
        description: Data access role.
        type: string
      rangerAuditRole:
        description: Ranger audit role.
        type: string
      credentialCrn:
        description: Credential CRN.
        type: string
      blueprintName:
        description: Name of the blueprint.
        type: string
      storageLocation:
        description: AWS S3 storage bucket base location.
        type: string
      instanceProfile:
        description: AWS instance profile.
        type: string
      rangerCloudAccessAuthorizerRole:
        description: Ranger RAZ role.
        type: string
  ValidateAwsCloudStorageResponse:
    type: object
    description: AWS cloud storage validation response.
    properties:
      status:
        description: Validation result. Allowed values are "OK", "ACCESS_DENIED", "ERROR", "RESOURCE_NOT_FOUND".
        type: string
      error:
        description: Error message if validation failed.
        type: string
  ValidateAzureCloudStorageRequest:
    type: object
    description: Request object for Azure cloud storage validation.
    required:
      - clusterName
      - dataAccessRole
      - rangerAuditRole
      - credentialCrn
      - blueprintName
      - storageLocation
    properties:
      clusterName:
        description: Datalake cluster name.
        type: string
      dataAccessRole:
        description: Data access role.
        type: string
      rangerAuditRole:
        description: Ranger audit role.
        type: string
      credentialCrn:
        description: Credential CRN.
        type: string
      blueprintName:
        description: Name of the blueprint.
        type: string
      storageLocation:
        description: Azure storage base location.
        type: string
      managedIdentity:
        description: Azure managed identity.
        type: string
      accountKey:
        description: Azure account key.
        type: string
      accountName:
        description: Azure account name.
        type: string
      secure:
        description: Azure secure flag.
        type: boolean
      rangerCloudAccessAuthorizerRole:
        description: Ranger RAZ role.
        type: string
  ValidateAzureCloudStorageResponse:
    type: object
    description: Azure cloud storage validation response.
    properties:
      status:
        description: Validation result. Allowed values are "OK", "ACCESS_DENIED", "ERROR", "RESOURCE_NOT_FOUND".
        type: string
      error:
        description: Error message if validation failed.
        type: string
  ResizeDatalakeRequest:
    type: object
    description: Datalake resize request.
    required:
      - datalakeName
      - targetSize
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      targetSize:
        type: string
        description: The target size for the datalake. The resize target size can be MEDIUM_DUTY or ENTERPRISE. If the runtime version >= 7.2.17 target size is ENTERPRISE. If not, the target size is MEDIUM_DUTY.
        enum:
          - MEDIUM_DUTY_HA
          - ENTERPRISE
      multiAz:
        type: boolean
        default: false
        description: Whether to deploy a new datalake in a multi-availability zone way.
      customInstanceTypes:
        type: array
        items:
          $ref: '#/definitions/CustomInstanceType'
        description: Any custom instance type to override defaults.
      customInstanceDisks:
        type: array
        items:
          $ref: '#/definitions/CustomInstanceDisk'
        description: Any custom instance disk size to override defaults.
      customDatabaseComputeStorage:
        $ref: '#/definitions/CustomDatabaseComputeStorage'
        description: Any custom database properties to override defaults.
      skipValidation:
        type: boolean
        description: Skips the validation steps that run prior to the resize. If this option is not provided, the validations are performed by default. If skip-validation and validation-only are used together an error is thrown.
      validationOnly:
        type: boolean
        description: Runs only the validation steps and then returns. If this option is not provided, the resize is performed as normal by default. If skip-validation and validation-only are used together an error is thrown.
  ResizeDatalakeResponse:
    type: object
    description: Datalake resize response.
    properties:
      datalakeName:
        type: string
        description: The name of the datalake. This will remain the same for the datalake created by the resize process.
      datalakeCrn:
        type: string
        description: The CRN of the datalake. This will remain the same for the datalake created by the resize process.
      environmentCrn:
        type: string
        description: The CRN of the environment the datalake is attached to. This will remain the same for the datalake created by the resize process.
      runtime:
        type: string
        description: The runtime of the datalake. This will remain the same for the datalake created by the resize process.
      status:
        type: string
        description: The current status of the datalake.
      statusReason:
        type: string
        description: The reason for the current status of the datalake.
      cloudbreakVersion:
        type: string
        description: The Cloudbreak version used to create the data lake.
      tags:
        type: array
        description: Datalake tags object containing the tag values defined for the datalake.
        items:
          $ref: '#/definitions/DatalakeResourceTag'
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  ScaleHorizontallyRequest:
    type: object
    description: Data Lake horizontal scaling request.
    required:
      - datalakeName
      - instanceGroupName
      - instanceGroupDesiredCount
    properties:
      datalakeName:
        type: string
        description: The name of the Data Lake
      instanceGroupName:
        type: string
        description: The target host group name to be scaled.
        enum:
          - solr_scale_out
          - hms_scale_out
          - raz_scale_out
          - kafka_scale_out
          - storage_scale_out
      instanceGroupDesiredCount:
        type: integer
        format: int32
        minimum: 0
        maximum: 40
        description: The target number of the scaling operation. If the desired count is less than the actual node count the scaling action will be a downscale operation.
  ScaleHorizontallyResponse:
    type: object
    description: Data Lake horizontal scaling response
    properties:
      datalakeName:
        type: string
        description: The name of the datalake.
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  ReplaceRecipesRequest:
    type: object
    description: The request for replacing recipes.
    required:
      - datalake
      - instanceGroupRecipes
    properties:
      datalake:
        type: string
        description: The name or CRN of the datalake.
      instanceGroupRecipes:
        type: array
        items:
          $ref: '#/definitions/InstanceGroupRecipeRequest'
        description: The list of instance group and recipe name pairs.
  ReplaceRecipesResponse:
    type: object
    description: The response for replacing recipes.
    properties:
      attachedRecipes:
        type: array
        description: The list of recipes, which will be attached to the cluster.
        items:
          $ref: '#/definitions/InstanceGroupRecipeResponse'
      detachedRecipes:
        type: array
        description: The list of recipes, which will be detached from the cluster.
        items:
          $ref: '#/definitions/InstanceGroupRecipeResponse'
  RotateSecretsRequest:
    type: object
    description: Request object for starting secret rotation for datalake.
    required:
      - datalake
      - secretTypes
    properties:
      datalake:
        type: string
        description: The datalake name or CRN where we wish to rotate secrets.
      secretTypes:
        type: array
        items:
          type: string
        description: The list of secrets that need replacement.
  RotateSecretsResponse:
    type: object
    description: Response object for rotating secrets.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  ListDatalakeSecretTypesRequest:
    type: object
    description: Request for listing possible secret values for Datalake.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The Datalake CRN where we wish to get the rotatable secrets.
  ListDatalakeSecretTypesResponse:
    type: object
    description: Response object for showing the secret types and descriptions.
    required:
      - datalakeSecretTypes
    properties:
      datalakeSecretTypes:
        type: array
        items:
          $ref: '#/definitions/SecretTypeResponse'
        description: The list of secret types supported by Datalake.
  SecretTypeResponse:
    x-mutating: false
    type: object
    description: Response object for showing the secret types and descriptions
    properties:
      secretType:
        type: string
        description: The type of secret that can be used with the rotate-secrets command.
      description:
        type: string
        description: The description of the secret type.
  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).
  InstanceGroupRecipeResponse:
    type: object
    description: Represents an instance group - recipe pair (by names) response.
    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).
  RecoverDatalakeRequest:
    type: object
    description: Datalake recover request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      recoveryType:
        type: string
        description: The type of the recovery. The default value is RECOVER_WITHOUT_DATA. The recovery always runs with RECOVER_WITH_DATA if the on resize failure.
        enum:
          - RECOVER_WITH_DATA
          - RECOVER_WITHOUT_DATA
  RecoverDatalakeResponse:
    type: object
    description: Datalake recover response.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  SetCatalogRequest:
    type: object
    description: The request object to set catalog for a DataLake.
    required:
      - datalake
      - catalogName
    properties:
      datalake:
        type: string
        description: The name or CRN of the affected DataLake.
      catalogName:
        type: string
        description: The name of the catalog to be used.
  SetCatalogResponse:
    type: object
    description: The response object to set catalog for a DataLake request.
  SyncComponentVersionsFromCmRequest:
    x-no-compatibility-guarantee: true
    type: object
    description: Datalake sync CM component versions request.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
  SyncComponentVersionsFromCmResponse:
    x-no-compatibility-guarantee: true
    type: object
    description: Datalake sync CM component versions response.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RotatePrivateCertificatesRequest:
    type: object
    description: Request object to rotate private certificates on datalake's hosts.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the datalake.
  RotatePrivateCertificatesResponse:
    type: object
    description: Response object to rotate private certificates on datalake's hosts.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  RenewPublicCertificateRequest:
    type: object
    description: Request object to renew the public certificate for Datalake.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the datalake.
  RenewPublicCertificateResponse:
    type: object
    description: Response object for renew public certificate request.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  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.
  RotateSaltPasswordRequest:
    type: object
    description: Request object for rotating SaltStack user password on DataLake instances (Deprecated).
    x-deprecated: true
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the datalake.
  RotateSaltPasswordResponse:
    type: object
    description: Response object for rotating SaltStack user password on DataLake instances (Deprecated).
    x-deprecated: true
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  UpdateOrchestratorStateRequest:
    type: object
    description: Request object for running orchestrator engine state update on the Data Lake cluster.
    required:
      - clusterCrn
    properties:
      clusterCrn:
        type: string
        description: The CRN of the Data Lake cluster.
  UpdateOrchestratorStateResponse:
    type: object
    description: Response object for running orchestrator engine state update on the Data Lake cluster.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  UpdateToAwsImdsV2Request:
    description: Request object for updating Data Lake to use AWS IMDSv2.
    type: object
    required:
      - crn
    properties:
      crn:
        type: string
        description: The CRN of the Data Lake.
  UpdateToAwsImdsV2Response:
    type: object
    description: Response object for updating Data Lake to AWS IMDSv2.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  UpdateToAwsImdsV1Request:
    description: Request object for updating Data Lake to use AWS IMDSv1.
    type: object
    required:
      - crn
    properties:
      crn:
        type: string
        description: The CRN of the Data Lake.
  UpdateToAwsImdsV1Response:
    type: object
    description: Response object for updating Data Lake to AWS IMDSv1.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  CustomInstanceType:
    type: object
    description: Request object for modified instance type.
    properties:
      name:
        type: string
        description: The name of the modified instance.
      instanceType:
        type: string
        description: The modified instance type
  CustomInstanceDisk:
    type: object
    description: Request object for modified instance disk.
    properties:
      name:
        type: string
        description: The name of the modified instance.
      diskSize:
        type: integer
        format: int32
        description: The modified disk size
  CustomDatabaseComputeStorage:
    type: object
    description: Request object for modified database storage properties.
    properties:
      instanceType:
        type: string
        description: The modified instance type.
      storageSize:
        type: integer
        format: int32
        description: The modified storage size for the database.
  MigrateSkusRequest:
    type: object
    description: Request object for migrating SKUs.
    required:
      - datalakeName
    properties:
      datalakeName:
        type: string
        description: The name or CRN of the datalake.
      force:
        type: boolean
        description: Skips checking cloud resource SKUs before the migration.
  MigrateSkusResponse:
    type: object
    description: Response object for migrating SKUs.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
  UpdatePublicDnsEntriesRequest:
    type: object
    description: Request object for updating public DNS entries.
    required:
      - datalake
    properties:
      datalake:
        type: string
        description: The name or CRN of the Data Lake.
  UpdatePublicDnsEntriesResponse:
    type: object
    description: Response object for updating public DNS entries.
    properties:
      operationId:
        type: string
        description: Unique operation ID assigned to this command execution. Use this identifier with 'get-operation' to track status and retrieve detailed results.
