swagger: '2.0' x-endpoint-name: replicationmanager x-products: CDP x-form-factors: public x-cdp-releases: PUBLIC x-audit: true info: version: 0.9.163 title: Cloudera Replication Manager Service license: name: Apache 2.0 description: Create and manage replication policies using Cloudera Replication Manager. termsOfService: https://www.cloudera.com/legal/commercial-terms-and-conditions.html schemes: - https consumes: - application/json produces: - application/json paths: /api/v1/replicationmanager/listClusters: post: summary: Lists all clusters. description: Provides a detailed list of all available clusters. operationId: listClusters x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListClustersRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ListClustersResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/listClusterServiceStatuses: post: summary: Lists Cluster Service Statuses. description: Provides a list of cluster service (e.g. HDFS, Hive, YARN, etc.) statuses. operationId: listClusterServiceStatuses x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListClusterServiceStatusesRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ListClusterServiceStatusesResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/listAllCredentials: post: summary: Lists Cloud Credentials. description: Provides a detailed list of cloud credentials across all available clusters. operationId: listAllCredentials x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListAllCredentialsRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ListAllCredentialsResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/getCredentials: post: summary: Get Cloud Credentials from a Cluster. description: Returns cloud credentials on a specific cluster. operationId: getCredentials x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/GetCredentialsRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/GetCredentialsResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/createAwsCredential: post: summary: Create an AWS Cloud Credential. description: Creates a new AWS cloud credential. operationId: createAwsCredential x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/CreateAwsCredentialRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/CreateAwsCredentialResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/createAbfsCredential: post: summary: Create an ABFS Cloud Credential. description: Creates a new ABFS cloud credential. operationId: createAbfsCredential x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/CreateAbfsCredentialRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/CreateAbfsCredentialResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/deleteCredential: post: summary: Delete Cloud Credential. description: Permanently deletes a specific cloud credential. operationId: deleteCredential x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/DeleteCredentialRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/DeleteCredentialResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/getClusterConfig: post: summary: Get configuration of a cluster. description: Retrieves configuration of a specific cluster. operationId: getClusterConfig x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/GetClusterConfigRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/GetClusterConfigResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/listPolicies: post: summary: Get All Replication Policies. description: Provides a list of all replication policies across all available clusters. operationId: listPolicies x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListPoliciesRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ListPoliciesResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/deletePolicy: post: summary: Delete Replication Policy. description: Permanently deletes a specific replication policy. operationId: deletePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/DeletePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/DeletePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/createPolicy: post: summary: Create a Replication Policy. description: Creates a new replication policy with the given name on a specific cluster. operationId: createPolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/CreatePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/CreatePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/suspendPolicy: post: summary: Stop all replication tasks defined by the policy. description: Stops all replication tasks defined by the policy. Replication will resume after activating the policy. operationId: suspendPolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/SuspendPolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/SuspendPolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/activatePolicy: post: summary: Resume all replication tasks defined by the policy. description: Resumes all replication tasks defined by the policy if the policy is currently suspended. operationId: activatePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/ActivatePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ActivatePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/createHbasePolicy: post: summary: Create an HBase Replication Policy. description: Creates a new HBase replication policy with the given name on a specific cluster. operationId: createHbasePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/CreateHbasePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/CreateHbasePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/updateHbasePolicy: post: summary: Update an HBase Replication Policy. description: Updates an existing HBase replication policy with the given parameters on a specific cluster. operationId: updateHbasePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/UpdateHbasePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/UpdateHbasePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/continueHbaseSetup: post: summary: Continue the setup of an HBase policy. description: Continues the setup of an HBase policy. If an HBase policy has a Classic Cluster source, the HBase service on the source will not be restarted automatically. The restart on the source needs to be executed manually, and then the continue setup step has to be called. There is no need to call this command if the source cluster is not a Classic Cluster. operationId: continueHbaseSetup x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/ContinueHbaseSetupRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ContinueHbaseSetupResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/suspendHbasePolicy: post: summary: Suspend an HBase replication policy. description: Pauses an active HBase replication policy. Note that if the destination cluster's Cloudera Manager API version is higher than 50 then it suspends all HBase replication policies between the same source and destination cluster, while if it is less than 45 then it only suspends the selected policy. Suspend is not available for versions between 45 and 50. operationId: suspendHbasePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/SuspendHbasePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/SuspendHbasePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/activateHbasePolicy: post: summary: Resume a suspended HBase replication policy. description: Resumes an HBase replication policy if it has previously been suspended. Note that if the destination cluster's Cloudera Manager API version is higher than 50 then it resumes all HBase replication policies between the same source and destination cluster, while if it is less than 45 then it only resumes the selected policy. Resume is not available for versions between 45 and 50. operationId: activateHbasePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/ActivateHbasePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ActivateHbasePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/deleteHbasePolicy: post: summary: Delete an HBase Replication Policy. description: Permanently deletes a specific HBase replication policy. operationId: deleteHbasePolicy x-mutating: true parameters: - name: input in: body required: true schema: $ref: '#/definitions/DeleteHbasePolicyRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/DeleteHbasePolicyResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/listPairedHbaseClusters: post: summary: List cluster CRNs which have an active HBase policy. description: Provides a list of cluster CRNs with active HBase policies. operationId: listPairedHbaseClusters x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListPairedHbaseClustersRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/ListPairedHbaseClustersResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/verifyHbaseClusterPair: post: summary: Verify a source-destination cluster pair for HBase policy creation. description: Returns whether the cluster pair is ready for policy creation, or if there are some manual steps that need to be performed before. operationId: verifyHbaseClusterPair x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/VerifyHbaseClusterPairRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/VerifyHbaseClusterPairResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/downloadDiagnosticBundle: post: summary: Download diagnostic bundle for a policy. description: Downloads the previously collected diagnostic bundle if available. Before calling, the get-command-status command shall be polled until the command's status shows 'DOWNLOADABLE_WITH_CLI'. If the status is 'DOWNLOADABLE_WITH_URL', the result can be downloaded with the given result data URL only. operationId: downloadDiagnosticBundle x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/DownloadDiagnosticBundleRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/DownloadDiagnosticBundleResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/collectDiagnosticBundle: post: summary: Collect diagnostic bundle for a policy. description: Triggers the collection of diagnostic bundle for a policy. operationId: collectDiagnosticBundle x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/CollectDiagnosticBundleRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/CollectDiagnosticBundleResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /api/v1/replicationmanager/getCommandStatus: post: summary: Get the status of the given CM command. description: Return the current status of the given CM command. operationId: getCommandStatus x-mutating: false parameters: - name: input in: body required: true schema: $ref: '#/definitions/GetCommandStatusRequest' responses: 200: description: Describes a successful response to a valid request. schema: $ref: '#/definitions/GetCommandStatusResponse' 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. ListClustersRequest: type: object description: Request to list clusters. ListClustersResponse: type: object description: Response object for list clusters request. required: - unreachableClusters - clusters properties: unreachableClusters: description: List of errors for unreachable clusters. type: array items: $ref: '#/definitions/ApiError' clusters: type: array description: List of clusters. items: $ref: '#/definitions/Cluster' ListClusterServiceStatusesRequest: type: object description: Request object to list cluster statuses. ListClusterServiceStatusesResponse: type: object description: Response object for listing of cluster statuses. properties: statuses: type: array description: List of statuses by cluster. items: $ref: '#/definitions/ClusterServiceStatuses' ListAllCredentialsRequest: type: object description: Request object for listing all cloud credentials on all clusters. ListAllCredentialsResponse: type: object description: Response object for list credentials request. required: - unreachableClusters - credentials properties: unreachableClusters: description: List of errors for unreachable clusters. type: array items: $ref: '#/definitions/ApiError' credentials: description: List of credentials by cluster. type: array items: $ref: '#/definitions/CredentialsResponse' GetCredentialsRequest: type: object description: Request object to retrieve specific cloud credentials. required: - clusterCrn properties: clusterCrn: description: CRN of the cluster where the credential is. type: string credentialName: description: Name of the credential. If both name and Id are specified, the Id is considered. type: string credentialId: description: Id of the credential. If both name and Id are specified, the Id is considered. type: string GetCredentialsResponse: type: object description: Response for credential request. properties: credentials: type: array description: List of credentials. items: $ref: '#/definitions/CredentialDetails' DeleteCredentialRequest: type: object description: Request object for deleting a credential. required: - name properties: name: description: Name of the cloud credential to delete. type: string DeleteCredentialResponse: type: object description: Response object for delete credential operation. properties: errors: description: The list of response errors in case of a partial failure while deleting the credential. type: array items: $ref: '#/definitions/ApiError' CreateAwsCredentialRequest: type: object description: Request object for creating AWS IAM or Access & Secret Key cloud credentials. required: - name - clusters - type properties: name: description: Name of the credential. type: string clusters: description: List of cluster CRNs where the credential should be created. type: array items: type: string type: description: 'Type of the credential. Additional required parameters by type: IAM: none; ACCESSKEY: accessKey, secretKey. Superfluous parameters are ignored. Providing IAM will create an IAM Role-based Authentication account in Cloudera Manager. Providing ACCESSKEY will create an AWS Access Key Authentication account in Cloudera Manager.' $ref: '#/definitions/AwsCloudCredentialType' accessKey: description: AWS access key. type: string x-sensitive: true secretKey: description: AWS secret key. type: string x-sensitive: true CreateAwsCredentialResponse: type: object description: Response object for creating AWS credentials. properties: errors: description: The list of response errors in case of a partial failure while creating the credential. type: array items: $ref: '#/definitions/ApiError' CreateAbfsCredentialRequest: type: object description: 'Request object for creating ABFS cloud credentials. Currently supported cloud credentials: ABFS Access Key for Ambari clusters, ABFS Client Secret for CM clusters.' required: - name - clusters - type properties: name: description: Name of the credential. type: string clusters: description: List of cluster CRNs where the credential should be created. type: array items: type: string type: description: 'Type of the credential. Additional required parameters by type: ACCESSKEY: storageAccountName, accessKey; CLIENTKEY: clientId, clientSecretKey, tenantId. Superfluous parameters are ignored. Providing ACCESSKEY will create an ABFS Access Key based account in Ambari. Providing CLIENTKEY will create an Azure Active Directory Service Principal account in Cloudera Manager. ACCESSKEY is only supported on Ambari, while CLIENTKEY is only supported on Cloudera Manager.' $ref: '#/definitions/AbfsCloudCredentialType' accessKey: description: ABFS access key. type: string x-sensitive: true storageAccountName: description: ABFS storage account name. type: string clientId: description: Client ID of an Active Directory service principal account. type: string clientSecretKey: description: Client Key of an Active Directory service principal account. type: string x-sensitive: true tenantId: description: Tenant ID of an Active Directory service principal account. type: string CreateAbfsCredentialResponse: type: object description: Response object for creating ABFS credentials. properties: errors: description: The list of response errors in case of a partial failure while creating the credential. type: array items: $ref: '#/definitions/ApiError' GetClusterConfigRequest: type: object description: Request object for getClusterConfig. required: - clusterCrn properties: clusterCrn: type: string description: The CRN of the cluster. GetClusterConfigResponse: type: object description: Response object for getClusterConfig. properties: clusterCrn: description: The CRN of the cluster. type: string cmApiVersion: description: Cloudera Manager API version. type: integer format: int32 underlyingFsForHive: description: Underlying file system for Hive. type: string enum: - HDFS - S3 - WASB - ABFS - GCS dmx: description: Configuration related to DMX. type: object properties: hbaseSuspend: description: Suspend type for HBase policies. $ref: '#/definitions/HbaseSuspendType' featureSupport: description: A map of available features and whether they are supported on the cluster. type: object additionalProperties: type: boolean services: description: A list of service configurations. type: array items: $ref: '#/definitions/ServiceConfiguration' ServiceConfiguration: description: Configuration related to a service. type: object properties: name: description: The name of the service. type: string configs: description: Service configuration map. type: object additionalProperties: type: string HbaseSuspendType: description: Describes how suspend and resume affects HBase policies on the cluster. 'ALL' means that suspend/resume affects all HBase policies with the same source and destination cluster, while 'POLICY' means that only the selected policy gets suspended/resumed. 'NOT_SUPPORTED' means that this feature is not available on the cluster. type: string enum: - POLICY - ALL - NOT_SUPPORTED ListPoliciesRequest: type: object description: Request object for listing all policies. ListPoliciesResponse: type: object description: Response object for a list policies request. required: - unreachableClusters - policyErrors - policies properties: unreachableClusters: description: List of errors for unreachable clusters. type: array items: $ref: '#/definitions/ApiError' policyErrors: description: List of policy errors. type: array items: $ref: '#/definitions/ApiError' policies: description: List of policies. type: array items: $ref: '#/definitions/Policy' DeletePolicyRequest: type: object description: Delete a replication policy. required: - clusterCrn - policyName properties: clusterCrn: type: string description: CRN of the cluster where the policy is. policyName: type: string description: Policy name to delete. DeletePolicyResponse: type: object description: Response object for deletePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. requestId: type: string description: The ID of the request. Populated only for Ambari backend. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. CreatePolicyRequest: type: object description: Create a replication policy. required: - clusterCrn - policyName - policyDefinition properties: clusterCrn: type: string description: CRN of the cluster where the policy will be created. policyName: type: string description: Name of the new policy. policyDefinition: description: Policy definition. $ref: '#/definitions/PolicyDefinition' CreatePolicyResponse: type: object description: Response object for createPolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. requestId: type: string description: The ID of the request. Populated only for Ambari backend. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. CreateHbasePolicyRequest: type: object description: Create an HBase replication policy. required: - clusterCrn - policyName - policyDefinition properties: clusterCrn: description: CRN of the destination cluster. type: string policyName: type: string description: Name of the new policy. policyDefinition: description: Policy definition. $ref: '#/definitions/HbasePolicyDefinition' CreateHbasePolicyResponse: type: object description: Response object for createHbasePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. UpdateHbasePolicyRequest: type: object description: Update HBase replication policy request. required: - clusterCrn - policyId - updateHbasePolicyDefinition properties: clusterCrn: type: string description: The CRN of the cluster where the policy will be updated. policyId: type: string description: The ID of the policy to be updated. updateHbasePolicyDefinition: description: The policy definition. $ref: '#/definitions/UpdateHbasePolicyDefinition' UpdateHbasePolicyDefinition: type: object description: HBase policy update request definition. properties: name: type: string description: The policy name. description: type: string description: Description of the policy. tables: description: List of tables to be replicated. The items should be in "namespace:tablename" format. x-default: null type: array items: type: string UpdateHbasePolicyResponse: type: object description: Response object for updateHbasePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. requestId: type: string description: The ID of the request. Populated only for Ambari backend. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request (Successful or an error). ContinueHbaseSetupRequest: type: object description: Continue an HBase setup for Classic Cluster source. required: - clusterCrn - policyId properties: clusterCrn: type: string description: The CRN of the destination cluster. policyId: type: string description: The ID of the HBase policy. ContinueHbaseSetupResponse: type: object description: Response object for continueHbaseSetup. properties: clusterCrn: type: string description: The CRN of the input cluster. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. ActivateHbasePolicyRequest: type: object description: Activate an HBase replication policy. required: - clusterCrn - policyId properties: clusterCrn: type: string description: CRN of the destination cluster. policyId: type: string description: ID of the HBase policy. ActivateHbasePolicyResponse: type: object description: Response object for activateHbasePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. SuspendHbasePolicyRequest: type: object description: Suspend an HBase replication policy. required: - clusterCrn - policyId properties: clusterCrn: type: string description: CRN of the destination cluster. policyId: type: string description: ID of the HBase policy. SuspendHbasePolicyResponse: type: object description: Response object for suspendHbasePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. DeleteHbasePolicyRequest: type: object description: Request object to delete an HBase replication policy. required: - clusterCrn - policyId properties: clusterCrn: type: string description: CRN of the destination cluster. policyId: type: string description: ID of the HBase policy. force: type: boolean description: Option to force delete an Hbase policy. It should be used if the normal delete fails (e.g. when the source cluster is unreachable). DeleteHbasePolicyResponse: type: object description: Response object for deleteHbasePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. ListPairedHbaseClustersRequest: type: object description: Request to list all paired HBase cluster CRNs. ListPairedHbaseClustersResponse: type: object description: Response object for listPairedHbaseClusters. properties: pairings: description: The list of CRN pairings. type: array items: $ref: '#/definitions/HbaseCrnPairs' crnsMissingHbaseService: description: Cluster CRNs where the HBase service was missing and pairing status could not be determined. type: array items: type: string unreachableClusters: description: The list of errors for unreachable clusters. type: array items: $ref: '#/definitions/ApiError' VerifyHbaseClusterPairRequest: type: object description: Request to verify a cluster pairing for HBase policy creation prerequisites. required: - sourceClusterCrn - destinationClusterCrn properties: sourceClusterCrn: type: string description: CRN of the source cluster. destinationClusterCrn: type: string description: CRN of the destination cluster. VerifyHbaseClusterPairResponse: type: object description: Response object for verifyHbaseClusterPair. properties: pairingStatus: description: The current status of pairing. type: string pairedStatus: description: Substatus of an active pairing. Indicates if a pairing is resettable or in an erroneous state. type: string pairingMessage: description: Description of the pairing status. type: string beforePolicySteps: description: Manual steps to perform before HBase policy creation. type: object properties: summary: description: Summary of the steps to perform. type: string documentationLink: description: Link to the HBase replication manual steps documentation. type: string source: description: Steps to perform for the source cluster. $ref: '#/definitions/VerificationSteps' destination: description: Steps to perform for the destination cluster. $ref: '#/definitions/VerificationSteps' afterPolicySteps: description: Manual steps to perform after HBase policy creation. type: object properties: summary: description: Summary of the steps to perform. type: string source: description: Steps to perform for the source cluster. $ref: '#/definitions/VerificationSteps' destination: description: Steps to perform for the destination cluster. $ref: '#/definitions/VerificationSteps' SuspendPolicyRequest: type: object description: Suspend a replication policy. required: - clusterCrn - policyName properties: clusterCrn: type: string description: CRN of the cluster where the policy is. policyName: type: string description: Policy name to suspend. SuspendPolicyResponse: type: object description: Response object for suspendPolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. requestId: type: string description: The ID of the request. Populated only for Ambari backend. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. ActivatePolicyRequest: type: object description: Activate a replication policy. required: - clusterCrn - policyName properties: clusterCrn: type: string description: CRN of the cluster where the policy is. policyName: type: string description: Policy name to resume. ActivatePolicyResponse: type: object description: Response object for resumePolicy. properties: clusterCrn: type: string description: The CRN of the input cluster. requestId: type: string description: The ID of the request. Populated only for Ambari backend. message: type: string description: The detailed description of the action taken. status: type: string description: The status of the request. DownloadDiagnosticBundleRequest: type: object description: Request to download the diagnostic bundle for the given cluster and command id. required: - clusterCrn - commandId properties: clusterCrn: description: The CRN of the target cluster. type: string commandId: description: The command ID from the response of collect-diagnostic-bundle command. type: string DownloadDiagnosticBundleResponse: type: object description: Response object for download-diagnostic-bundle. On certain clusters this response will show if the download is only available directly from CM. properties: bundleFile: x-skip-logging: true description: Base64 encoded content of the diagnostic bundle zip file. A script like this can be used to save the response as file 'cat response.json | jq -r '.bundleFile' | base64 -D > bundle.zip' type: string format: byte CollectDiagnosticBundleRequest: type: object description: Triggers a diagnostic bundle collect command for the given cluster and policyName. required: - clusterCrn - policyName properties: clusterCrn: description: The CRN of the target cluster. type: string policyName: description: Name of the policy. type: string CollectDiagnosticBundleResponse: type: object description: Response object for collect-diagnostic-bundle. required: - commandId properties: commandId: description: ID of the diagnostic bundle collection command issued against the CM. Polling get-command-status with this command id returns the current state of the command. format: int64 type: integer name: description: Name of the policy. type: string active: description: Whether the diagnostic bundle command is active. type: boolean startTime: description: Start time of the diagnostic bundle collection command. type: string resultMessage: description: Diagnostic bundle collection command result message. type: string GetCommandStatusRequest: type: object description: Get the current status of any CM command. required: - clusterCrn - commandId properties: clusterCrn: description: The CRN of the target cluster. type: string commandId: description: ID of a CM command on the cluster. type: string GetCommandStatusResponse: type: object description: Response object for get command status. required: - commandId properties: commandId: description: Id of the CM command. format: int64 type: integer success: description: Whether the diagnostic collection is successful. type: boolean active: description: Whether the command is still active. type: boolean name: description: Name of the policy. type: string startTime: description: Start time of the CM command. type: string endTime: description: End time of the CM command. type: string resultDataUrl: description: Some commands have result data URL for downloading the diagnostic bundle. On certain CM versions the bundle download is only available through this URL, but not with download-diagnostic-bundle operation. type: string resultMessage: description: Result message of the command. type: string bundleStatus: description: The current status of the command. type: string enum: - IN_PROGRESS - DOWNLOADABLE_WITH_URL - DOWNLOADABLE_WITH_CLI - FAILED bundleStatusMessage: description: Further information about the current command status. type: string ApiError: type: object description: API error. required: - code - message - status properties: code: type: integer format: int32 description: Error code. message: description: Error message. type: string status: description: Error status. type: string clusterUrl: type: string description: Cluster URL. requestId: description: Request ID. type: string ClusterServiceStatuses: type: object description: Describes the status of services running on a cluster. required: - clusterCrn - serviceStatuses properties: clusterCrn: description: Cluster CRN. type: string serviceStatuses: description: List of service statuses. type: array items: $ref: '#/definitions/ServiceInfo' Cluster: type: object description: Describes a Datalake, Datahub or Classic cluster. required: - crn - name - dataCenter - clusterType - replicationEngineType - clusterManagerType - clusterManagerUrl - clusterUrl properties: crn: description: Cluster CRN. type: string name: description: Cluster name. type: string dataCenter: description: Cluster data center. type: string clusterType: description: Cluster type. type: string enum: - CLASSIC - SDX - DISTROX replicationEngineType: description: Replication engine type. type: string enum: - CM - DLM_ENGINE clusterManagerType: description: Cluster Manager type. type: string enum: - CLOUDERA_MANAGER - AMBARI clusterManagerUrl: description: Cluster Manager URL. type: string clusterUrl: description: Cluster URL. type: string totalHosts: description: Total hosts on the cluster. type: integer format: int32 location: description: Cluster location. $ref: '#/definitions/Location' stackCrn: description: Stack CRN. type: string description: description: Cluster description. type: string stackMajorVersion: description: Stack major version. type: string stackVersion: description: Stack version. type: string uuid: description: Cluster UUID from Cloudera Manager if the cluster has CM backend. type: string environmentCrn: description: CRN of the cluster's environment. type: string knoxUrl: description: Knox URL if the cluster was registered with one, null otherwise. type: string cloudAccountProvider: description: Cloud account provider. type: string enum: - AWS - ADLS - WASB - ABFS - GCS cmName: description: Cloudera Manager name. type: string codProperties: description: Additional properties for operational databases. $ref: '#/definitions/CodProperties' Location: type: object description: Location object. required: - id - country - city - latitude - longitude properties: id: description: Location ID. type: integer format: int64 country: description: Country. type: string city: description: City. type: string latitude: description: Latitude. type: number format: double longitude: description: Longitude. type: number format: double CodProperties: type: object description: Additional properties for operational databases. properties: operationalDatabaseName: description: Name of the corresponding operational database.. type: string CustomConfigs: type: object description: Custom key/value configurations. required: - name - value - confidential properties: name: description: Name. type: string value: description: Value. type: string confidential: description: Whether the value is confidential. type: boolean CredentialsResponse: type: object description: Response object for cloud credentials. required: - clusterCrn - clusterUrl - replicationEngineType - credentials properties: clusterCrn: description: Cluster CRN. type: string clusterUrl: description: Cluster URL. type: string replicationEngineType: description: Replication engine type. type: string enum: - CM - DLMENGINE credentials: description: Cloud credentials. $ref: '#/definitions/CredentialCollection' CredentialCollection: type: object description: Cloud Credentials listing. required: - totalResults - results - credentials properties: totalResults: description: Total number cloud credentials. type: integer format: int64 results: description: Number of cloud credentials in the response. type: integer format: int64 credentials: description: Cloud credential details. type: array items: $ref: '#/definitions/CredentialDetails' CredentialDetails: type: object description: Cloud credential details for by-name or by-id cloud credential request. required: - id - name - provider - authType - creationTime - lastModifiedTime properties: id: description: Credential id. type: string name: description: Credential name. type: string provider: description: Credential provider. type: string authType: description: Authentication type. type: string creationTime: description: Creation time. type: string format: date-time lastModifiedTime: description: Last modified time. type: string format: date-time configs: description: Configurations. type: object additionalProperties: type: string customConfigs: description: Custom configurations. type: array items: $ref: '#/definitions/CustomConfigs' ServiceInfo: type: object description: Service status definition. required: - serviceName - status properties: serviceName: description: Service name. type: string status: description: Service status. type: string Policy: type: object description: Replication policy definition. required: - policyId - name - type - status - frequency - endTime - jobs - report properties: policyId: description: Policy id. type: string name: description: Policy name. type: string type: description: Policy type. type: string status: description: Current status of the policy. type: string frequency: description: Frequency in seconds when the policy runs. type: integer format: int64 endTime: description: End time of policy run or when it repeats. type: string format: date-time jobs: description: List of policy runs. type: array items: $ref: '#/definitions/PolicyInstanceResponse' report: description: Policy report. $ref: '#/definitions/PolicyReport' description: description: Policy description. type: string executionType: description: Policy execution type. type: string sourceDataset: description: Source dataset of replication. type: array items: type: string targetDataset: description: Target dataset of replication. type: array items: type: string creationTime: description: Policy creation time. type: string format: date-time startTime: description: Policy start time. type: string format: date-time sourceCluster: description: Source cluster of replication. type: string sourceClusterCrn: description: CRN of the source cluster. type: string targetCluster: description: Target cluster of replication if not cloud. type: string targetClusterCrn: description: CRN of the target cluster. type: string customProperties: description: Custom replication properties. type: object additionalProperties: type: string plugins: description: Plugins. type: array x-default: null items: type: string nextRun: description: Next expected run of the policy. type: string target: description: Replication target details. $ref: '#/definitions/TargetDetails' PolicyInstanceResponse: type: object description: Policy execution details. required: - id - policyId - status - startTime properties: id: description: Policy instance command id. type: string policyId: description: Policy id. type: string status: description: Policy command status. type: string startTime: description: Command start time. type: string format: date-time endTime: description: Command end time. type: string format: date-time trackingInfo: description: JSON data to track polciy status. type: string message: description: Output of the policy command. type: string jobType: description: Job type. type: string totalSteps: description: Total number of steps. type: integer format: int32 completedSteps: description: Number of completed steps. type: integer format: int32 PolicyReportDetails: type: object description: Policy report details. required: - status - endTime properties: status: description: Status of the command. type: string endTime: description: End time. type: string format: date-time PolicyReport: type: object description: Policy report. properties: lastSucceededInstance: description: Last successful instance. $ref: '#/definitions/PolicyReportDetails' lastFailedInstance: description: Last failed instance. $ref: '#/definitions/PolicyReportDetails' TargetDetails: type: object description: Target details. required: - environmentCrn properties: environmentCrn: description: Target's environment CRN. type: string warehouseCrn: description: Target's warehouse CRN. type: string PolicyDefinition: type: object description: Policy creation request definition. required: - name - type - sourceDataset - frequencyInSec properties: name: description: Name of the new policy. type: string type: description: Policy replication type. type: string enum: - FS - HIVE - HBASE sourceDataset: description: Source dataset to replicate. $ref: '#/definitions/SourceDataset' frequencyInSec: description: Policy's frequency in seconds. type: integer format: int64 targetDataset: description: Dataset to replicate to. type: string cloudCredential: description: Cloud credentials to use if replicating to Cloud. type: string sourceCluster: description: 'Name of source cluster in the format: "dataCenterName$cluster name", for example "DC-Europe$My Source 42.' type: string targetCluster: description: 'Name of destination cluster in the format: "dataCenterName$cluster name", for example "DC-US$My Destination 17".' type: string startTime: description: Start time. type: string format: date-time endTime: description: End time. type: string format: date-time distcpMaxMaps: description: Maximum Map jobs to use for replication. type: integer format: int64 distcpMapBandwidth: description: Maximum bandwidth to use for replication. type: integer format: int64 queueName: description: YARN queue name if not default. type: string tdeSameKey: description: TDE same key. type: boolean description: description: Description of the policy. type: string enableSnapshotBasedReplication: description: Enable snapshot based replication. type: boolean cloudEncryptionAlgorithm: description: The type of cloud encryption algorithm. Can be used only for HDP/Ambari managed clusters. Supported values are AES256,SSE-KMS. type: string cloudEncryptionKey: description: Cloud encryption key. type: string plugins: description: Plugins. type: array x-default: null items: type: string hiveExternalTableBaseDirectory: description: Hive external table base directory. type: string cmPolicySubmitUser: description: CM policy submit user. $ref: '#/definitions/CmPolicySubmitUser' SourceDataset: type: object description: Extra properties for the source dataset. properties: hdfsArguments: description: HDFS arguments for HDFS and Hive replication. $ref: '#/definitions/HdfsArguments' hiveArguments: description: Arguments for Hive replication, null if HDFS replication. $ref: '#/definitions/HiveArguments' HdfsArguments: type: object description: Extra properties for HDFS. properties: path: description: HDFS path. Mandatory for HDFS policies, otherwise optional. type: string replicationStrategy: description: Replication strategy. type: string enum: - DYNAMIC - STATIC mapReduceService: description: Name of the mapreduce service. type: string logPath: description: Job log path. type: string errorHandling: description: Error handling strategy. $ref: '#/definitions/ErrorHandling' preserve: description: Properties to preserve. $ref: '#/definitions/Preserve' deletePolicy: description: Deletion behavior. type: string enum: - KEEP_DELETED_FILES - DELETE_TO_TRASH - DELETE_PERMANENTLY alert: description: Alerting behavior. $ref: '#/definitions/Alert' exclusionFilters: description: Exclusion filters in glob format. type: array x-default: null items: type: string ErrorHandling: type: object description: Error handling behavior. required: - skipChecksumChecks - skipListingChecksumChecks - abortOnError - abortOnSnapshotDiffFailures properties: skipChecksumChecks: description: Skip checksum checks. type: boolean skipListingChecksumChecks: description: Skip checksum checks for copy-listing. type: boolean abortOnError: description: Abort policy on error. type: boolean abortOnSnapshotDiffFailures: description: Abort policy if there are snapshot diff failures. type: boolean Preserve: type: object description: Properties to preserve after replication. required: - blockSize - replicationCount - permissions - extendedAttributes properties: blockSize: description: Block size. type: boolean replicationCount: description: Replication count. type: boolean permissions: description: Permissions. type: boolean extendedAttributes: description: Extended attributes. type: boolean Alert: type: object description: Cloudera Manager alerting behavior. required: - onFailure - onStart - onSuccess - onAbort properties: onFailure: description: Alert on failure. type: boolean onStart: description: Alert on start. type: boolean onSuccess: description: ALert on success. type: boolean onAbort: description: Alert on abort. type: boolean HiveArguments: type: object description: Hive replication arguments. properties: databasesAndTables: description: Scope of the replication. type: array items: $ref: '#/definitions/HiveDatabaseAndTables' sentryPermissions: description: Include or exclude Sentry permissions. type: string enum: - INCLUDE - EXCLUDE skipUrlPermissions: description: Skip URL permissions. type: boolean numThreads: description: Number of threads to use during replication. type: integer format: int64 HiveDatabaseAndTables: type: object description: Hive replication scope. required: - database properties: database: description: Database to replicate. type: string tablesIncludeRegex: description: Regex to match included tables. type: string tablesExcludeRegex: description: Regex to match excluded tables. type: string CmPolicySubmitUser: type: object description: CM Policy submit user. properties: userName: description: Username. type: string sourceUser: description: Source user. type: string HbasePolicyDefinition: type: object description: HBase policy definition. required: - hbasePolicyArguments - sourceCluster - targetCluster - initialSnapshot properties: hbasePolicyArguments: description: HBase policy arguments. $ref: '#/definitions/HbasePolicyArguments' sourceCluster: description: 'Name of source cluster in the format: "dataCenterName$cluster name", for example "DC-Europe$My Source 42."' type: string targetCluster: description: 'Name of destination cluster in the format: "dataCenterName$cluster name", for example "DC-US$My Destination 17".' type: string initialSnapshot: description: If set to true, the current data in the table will be replicated before the HBase replication peer gets enabled. If set to false, only the data changed after the policy creation will be replicated. type: boolean description: description: Description of the policy. type: string machineUser: description: Machine user details to use for the replication. If not specified, an internal machine user will be created and synchronized to the required environments. $ref: '#/definitions/MachineUser' queueName: description: YARN queue name to use for initial snapshot if not default. type: string distcpMaxMaps: description: Maximum Map jobs to use for initial snapshot. type: integer format: int64 sourceRestartType: description: Type of restart for the source cluster. This is only accepted if the source is not a Classic Cluster and the destination has restart-type support. Default is ROLLING_RESTART. $ref: '#/definitions/RestartType' targetRestartType: description: Type of restart for the destination cluster. This is only accepted if the cluster has restart-type support. Default is ROLLING_RESTART. $ref: '#/definitions/RestartType' HbasePolicyArguments: type: object description: HBase replication parameters. properties: tables: description: List of tables to be replicated. The key should be in "namespace:tablename" format. If this list is empty, then the whole database will be replicated. type: array x-default: null items: type: string cloudCredential: description: Cloud credentials to use to replicate the initial snapshot if the credential location is specified as 'EXTERNAL_ACCOUNT'. type: string databaseArguments: description: Optional parameters used for HBase database replication. $ref: '#/definitions/HbaseDatabaseArguments' HbaseDatabaseArguments: type: object description: HBase database replication arguments. properties: replicationStrategy: description: Whether to replicate all tables or only the ones where the replication scope has been set. Defaults to ALL_TABLES. type: string enum: - ALL_TABLES - TABLES_WITH_REPLICATION_SCOPE_SET MachineUser: type: object description: Username and password for the machine user. required: - user - password - createUser properties: user: description: Username. type: string password: description: Password. x-sensitive: true type: string createUser: description: This option has no effect if the machine user already exists. Otherwise if 'true', a new machine user is created. If 'false', an error is returned indicating that the user does not exist. type: boolean HbaseCrnPairs: type: object description: HBase CRN pairs. properties: pairedCrns: description: The list of CRNs which are peers of each other. type: array items: type: string VerificationSteps: type: object description: Verification steps. properties: clusterManagerUrl: description: The cluster manager URL to reach the cluster's UI. type: string steps: description: The list of manual steps to perform or verify. type: array items: type: string AwsCloudCredentialType: type: string description: AWS cloud credential type. enum: - IAM - ACCESSKEY AbfsCloudCredentialType: type: string description: ABFS cloud credential type. enum: - ACCESSKEY - CLIENTKEY RestartType: type: string description: Type of restart for a cluster. enum: - RESTART - ROLLING_RESTART