swagger: '2.0' x-endpoint-name: drscp x-products: CDP x-form-factors: private x-audit: true x-cdp-releases: PUBLIC info: version: 0.9.163 title: CDP Control Plane Data Recovery Service license: name: Apache 2.0 description: The API of Data Recovery Service for CDP Private Cloud Control Plane . schemes: - https consumes: - application/json produces: - application/json 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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/CreateBackupRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/CreateBackupResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/RestoreBackupRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/RestoreBackupResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/DeleteBackupRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/DeleteBackupResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/DescribeBackupRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/DescribeBackupResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/DescribeRestoreRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/DescribeRestoreResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListBackupEntitiesRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/ListBackupEntitiesResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListBackupsRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/ListBackupsResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/ListRestoresRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/ListRestoresResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' /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 parameters: - name: input in: body required: true schema: $ref: '#/definitions/GetLogsRequest' responses: 200: description: Expected response to a valid request. schema: $ref: '#/definitions/GetLogsResponse' default: description: The default response on an error. schema: $ref: '#/definitions/Error' definitions: 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. 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. ListBackupEntitiesRequest: type: object description: Request object for the list entities request. 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 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. CreateBackupResponse: type: object description: Response object for the create backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. RestoreBackupRequest: type: object description: Request object for the restore backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. RestoreBackupResponse: type: object description: Response object for the restore backup request. required: - restoreCrn properties: restoreCrn: type: string description: The CRN of the restore. DeleteBackupRequest: type: object description: Request object for the delete backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. 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. DescribeBackupRequest: type: object description: Request object for the describe backup request. required: - backupCrn properties: backupCrn: type: string description: The CRN of the backup. DescribeBackupResponse: type: object description: Request object for the describe backup request. required: - backup properties: backup: $ref: '#/definitions/Backup' description: The backup details. DescribeRestoreRequest: type: object description: Response object for the describe restore request. required: - restoreCrn properties: restoreCrn: type: string description: The unique CRN of the restore. DescribeRestoreResponse: type: object description: Response object for the describe restore request. required: - restore properties: restore: $ref: '#/definitions/Restore' description: The restore details. 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: '#/definitions/JobState' description: The job states to filter by. 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: '#/definitions/SimpleBackup' 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. 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. 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: '#/definitions/Message' errors: type: array description: The errors from backup job. items: $ref: '#/definitions/Message' ListRestoresRequest: type: object description: Request object for the list restores request. properties: jobStates: type: array items: $ref: '#/definitions/JobState' description: The job states to filter by. backupCrn: type: string description: CRN of the backup. 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: '#/definitions/SimpleRestore' 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. 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: '#/definitions/Message' errors: type: array description: The errors from restore job. items: $ref: '#/definitions/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. 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