openapi: 3.2.0 info: version: 0.9.163 title: CDP Control Plane Data Recovery Service Drscp API license: name: Apache 2.0 description: The API of Data Recovery Service for CDP Private Cloud Control Plane . tags: - name: Drscp paths: /api/v1/drscp/createBackup: post: summary: Creates a backup for the control plane description: Creates an on-demand backup for the control plane including embedded database, Kubernetes objects, persistent volume, etc. Backup requests are processed asynchronously and instantaneously. operationId: createBackup x-right: drscp/createBackup x-mutating: true responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/CreateBackupResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBackupRequest' required: true tags: - Drscp /api/v1/drscp/restoreBackup: post: summary: Restores backup description: Creates a new control plane from an existing backup. operationId: restoreBackup x-right: drscp/restoreBackup x-mutating: true responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/RestoreBackupResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreBackupRequest' required: true tags: - Drscp /api/v1/drscp/deleteBackup: post: summary: Deletes a control plane backup description: Deletes an existing control plane backup. The call returns immediately. operationId: deleteBackup x-right: drscp/deleteBackup x-mutating: true responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/DeleteBackupResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteBackupRequest' required: true tags: - Drscp /api/v1/drscp/describeBackup: post: summary: Describes the backup description: Returns the description of an existing control plane backup. operationId: describeBackup x-right: drscp/describeBackup x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/DescribeBackupResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/DescribeBackupRequest' required: true tags: - Drscp /api/v1/drscp/describeRestore: post: summary: Restores the backup description: Returns the description of a control plane restore operation. operationId: describeRestore x-right: drscp/describeRestore x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/DescribeRestoreResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/DescribeRestoreRequest' required: true tags: - Drscp /api/v1/drscp/listBackupEntities: post: summary: Lists potential backup entities associated with the control plane description: Lists potential backup entities. It includes the main control plane namespace and its corresponding vault namespace(if embedded). operationId: listBackupEntities x-right: drscp/listBackupEntities x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/ListBackupEntitiesResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ListBackupEntitiesRequest' required: true tags: - Drscp /api/v1/drscp/listBackups: post: summary: Lists backups description: Lists backups associated with the control plane. operationId: listBackups x-right: drscp/listBackups x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/ListBackupsResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ListBackupsRequest' required: true tags: - Drscp /api/v1/drscp/listRestores: post: summary: Lists restores description: Lists restores associated with the control plane. operationId: listRestores x-right: drscp/listRestores x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/ListRestoresResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ListRestoresRequest' required: true tags: - Drscp /api/v1/drscp/getLogs: post: summary: Gets job logs description: Given the Crn, returns the corresponding job logs. operationId: getLogs x-right: drscp/getLogs x-mutating: false responses: 200: description: Expected response to a valid request. content: application/json: schema: $ref: '#/components/schemas/GetLogsResponse' default: description: The default response on an error. content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetLogsRequest' required: true tags: - Drscp components: schemas: SimpleBackup: type: object description: A simple backup entry for listBackup usage properties: backupCrn: type: string description: The unique CRN of the backup. backupName: type: string description: The display name of the backup. backupCreationTime: type: string description: The time when the backup was created. backupPhase: type: string description: The phase of the backup operation. The values are PENDING, PRE_VALIDATION, SAVING_OBJECTS, CREATING_SNAPSHOTS and FINISHED. PENDING indicates waiting for the job to start executing. PRE_VALIDATION indicates validation of the environment before backup. SAVING_OBJECTS indicates saving all the kubernetes resources related to the backup item. CREATING_SNAPSHOTS indicates creating a snapshot of all Kubernetes PersistentVolumeClaims related to the backup item and FINISHED indicates that the backup job has finished. backupJobState: type: string description: The current state of the backup job. The values are NOT_STARTED, IN_PROGRESS, COMPLETED, PARTIALLY_FAILED, FAILED and TERMINATING. NOT_STARTED indicates the job has not started. IN_PROGRESS indicates the job is running. COMPLETED indicates the job has finished running successfully. PARTIALLY_FAILED indicates the job has finished running with some warnings. FAILED indicates the job has finished running with errors and TERMINATING indicates that the entity containing this job is being deleted. ListBackupsResponse: type: object description: Response object for the list backups request. required: - backups properties: backups: type: array description: List of backups for the control plane. items: $ref: '#/components/schemas/SimpleBackup' GetLogsResponse: type: object description: Response object for the get backup logs request. required: - logs properties: logs: type: string description: Contains the logs of the operation. x-skip-logging: true SimpleRestore: type: object description: A simple Restore entry for listRestore Usage properties: restoreCrn: type: string description: The CRN of the restore. backupCrn: type: string description: The CRN of the backup. restoreCreationTime: type: string description: The time when the restore was created. includedNamespaces: type: array description: The list of namespaces to be included in restore. items: type: string restorePhase: type: string description: The phase of the restore operation. The values are PENDING, PRE_VALIDATION, STOPPING_APPS, DELETING_OBJECTS, DELETING_OBJECTS_PVC, RESTORING_PVC, RESTORING_OBJECTS, STARTING_APPS and FINISHED. PENDING indicates waiting for the job to start executing. PRE_VALIDATION indicates validation of the environment before restore. STOPPING_APPS indicates stopping the microservices before data restore. DELETING_OBJECTS indicates deletion of Kubernetes resources other than PersistentVolumeClaims. DELETING_OBJECTS_PVC indicates deletion of Kubernetes PersistentVolumeClaims. RESTORING_PVC indicates creation of Kubernetes PersistentVolumeClaims. RESTORING_OBJECTS indicates creating of Kubernetes objects other than PersistentVolumeClaims. STARTING_APPS indicates starting of the microservices after data restore and FINISHED indicates the restore job has finished. restoreJobState: type: string description: The current state of the restore job. The values are NOT_STARTED, IN_PROGRESS, COMPLETED, PARTIALLY_FAILED, FAILED and TERMINATING. NOT_STARTED indicates the job has not started. IN_PROGRESS indicates the job is running. COMPLETED indicates the job has finished running successfully. PARTIALLY_FAILED indicates the job has finished running with some warnings. FAILED indicates the job has finished running with errors and TERMINATING indicates that the entity containing this job is being deleted. DescribeBackupResponse: type: object description: Request object for the describe backup request. required: - backup properties: backup: $ref: '#/components/schemas/Backup' description: The backup details. Message: type: object description: The message object used to display warnings and errors during DRS workflows properties: text: type: string description: The text message of the warning/error. timestamp: type: string description: The time when the warning/error is hit. namespace: type: string description: The namespace that has the warning/error. Backup: type: object description: Backup entry properties: backupCrn: type: string description: The unique CRN of the backup. backupCreationTime: type: string description: The time when the backup was created. backupName: type: string description: The display name of the backup. backupUpdatedTime: type: string description: The time when the backup was updated. backupPhase: type: string description: The phase of the backup operation. The values are PENDING, PRE_VALIDATION, SAVING_OBJECTS, CREATING_SNAPSHOTS and FINISHED. PENDING indicates waiting for the job to start executing. PRE_VALIDATION indicates validation of the environment before backup. SAVING_OBJECTS indicates saving all the kubernetes resources related to the backup item. CREATING_SNAPSHOTS indicates creating a snapshot of all Kubernetes PersistentVolumeClaims related to the backup item and FINISHED indicates that the backup job has finished. backupJobState: type: string description: The current state of the backup job. The values are NOT_STARTED, IN_PROGRESS, COMPLETED, PARTIALLY_FAILED, FAILED and TERMINATING. NOT_STARTED indicates the job has not started. IN_PROGRESS indicates the job is running. COMPLETED indicates the job has finished running successfully. PARTIALLY_FAILED indicates the job has finished running with some warnings. FAILED indicates the job has finished running with errors and TERMINATING indicates that the entity containing this job is being deleted. backupJob: type: string description: The backup job name. includedNamespaces: type: array description: The list of namespaces to be included in backup. items: type: string warnings: type: array description: The warnings from backup job. items: $ref: '#/components/schemas/Message' errors: type: array description: The errors from backup job. items: $ref: '#/components/schemas/Message' GetLogsRequest: type: object description: Request object for the get logs request. required: - crn properties: crn: type: string description: The CRN of the custom resource. CreateBackupRequest: type: object description: Request object for the create backup request. properties: backupName: type: string description: Specified name for the backup. itemName: type: string description: Name of the potential candidate for backup. It is optional in the case of control plane. RestoreBackupResponse: type: object description: Response object for the restore backup request. required: - restoreCrn properties: restoreCrn: type: string description: The CRN of the restore. JobState: type: string enum: - NOT_STARTED - IN_PROGRESS - COMPLETED - PARTIALLY_FAILED - FAILED - TERMINATING description: The current state of a Data Recovery Service job. The values are NOT_STARTED, IN_PROGRESS, COMPLETED, PARTIALLY_FAILED, FAILED and TERMINATING. NOT_STARTED indicates the job has not started. IN_PROGRESS indicates the job is running. COMPLETED indicates the job has finished running successfully. PARTIALLY_FAILED indicates the job has finished running with some warnings. FAILED indicates the job has finished running with errors and TERMINATING indicates that the entity containing this job is being deleted. Restore: type: object description: Restore entry properties: restoreCrn: type: string description: The CRN of the restore. backupCrn: type: string description: The CRN of the backup. restoreCreationTime: type: string description: The time when the restore was created. restoreUpdatedTime: type: string description: The updated time of the restore. excludedResources: type: array description: The list of resources to be excluded in restore. items: type: string includedNamespaces: type: array description: The list of namespaces to be included in restore. items: type: string successConditions: type: array description: The list of conditions to be met for a successful restore. items: type: string restorePhase: type: string description: The phase of the restore operation. The values are PENDING, PRE_VALIDATION, STOPPING_APPS, DELETING_OBJECTS, DELETING_OBJECTS_PVC, RESTORING_PVC, RESTORING_OBJECTS, STARTING_APPS and FINISHED. PENDING indicates waiting for the job to start executing. PRE_VALIDATION indicates validation of the environment before restore. STOPPING_APPS indicates stopping the microservices before data restore. DELETING_OBJECTS indicates deletion of Kubernetes resources other than PersistentVolumeClaims. DELETING_OBJECTS_PVC indicates deletion of Kubernetes PersistentVolumeClaims. RESTORING_PVC indicates creation of Kubernetes PersistentVolumeClaims. RESTORING_OBJECTS indicates creating of Kubernetes objects other than PersistentVolumeClaims. STARTING_APPS indicates starting of the microservices after data restore and FINISHED indicates the restore job has finished. restoreJobState: type: string description: The current state of the restore job. The values are NOT_STARTED, IN_PROGRESS, COMPLETED, PARTIALLY_FAILED, FAILED and TERMINATING. NOT_STARTED indicates the job has not started. IN_PROGRESS indicates the job is running. COMPLETED indicates the job has finished running successfully. PARTIALLY_FAILED indicates the job has finished running with some warnings. FAILED indicates the job has finished running with errors and TERMINATING indicates that the entity containing this job is being deleted. restoreJob: type: string description: The restore job name. warnings: type: array description: The warnings from restore job. items: $ref: '#/components/schemas/Message' errors: type: array description: The errors from restore job. items: $ref: '#/components/schemas/Message' RestoreBackupRequest: type: object description: Request object for the restore backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. DescribeRestoreResponse: type: object description: Response object for the describe restore request. required: - restore properties: restore: $ref: '#/components/schemas/Restore' description: The restore details. DeleteBackupResponse: type: object description: Response object for the delete backup request. required: - deleteBackupCrn properties: deleteBackupCrn: type: string description: The CRN of the kubernetes delete backup custom resource. CreateBackupResponse: type: object description: Response object for the create backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. DescribeBackupRequest: type: object description: Request object for the describe backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. ListBackupEntitiesResponse: type: object description: Response object for the list entities request. required: - items properties: items: type: array description: The list of potential candidates for backup. It should be a single entity that indicates the namespace which the control plane is running on. items: type: string DeleteBackupRequest: type: object description: Request object for the delete backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. ListBackupEntitiesRequest: type: object description: Request object for the list entities request. ListRestoresResponse: type: object description: Response object for the list restores request. required: - restores properties: restores: type: array description: List of restores for the control plane. items: $ref: '#/components/schemas/SimpleRestore' ListBackupsRequest: type: object description: Request object for the list backups request. properties: backupName: type: string description: Specified name for the backup. jobStates: type: array items: $ref: '#/components/schemas/JobState' description: The job states to filter by. ListRestoresRequest: type: object description: Request object for the list restores request. properties: jobStates: type: array items: $ref: '#/components/schemas/JobState' description: The job states to filter by. backupCrn: type: string description: CRN of the backup. DescribeRestoreRequest: type: object description: Response object for the describe restore request. required: - restoreCrn properties: restoreCrn: type: string description: The unique CRN of the restore. 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. x-endpoint-name: drscp x-products: CDP x-form-factors: private x-audit: true x-cdp-releases: PUBLIC