{ "openapi": "3.0.0", "info": { "title": "public/portworx/pds/backup/apiv1/backup.proto", "version": "version not set" }, "tags": [ { "name": "BackupService" } ], "paths": { "/pds/v1/backups": { "get": { "summary": "ListBackups API lists the Backup resources.", "operationId": "BackupService_ListBackups", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListBackupsResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/googlerpcStatus" } } } } }, "parameters": [ { "name": "dataServiceDeploymentId", "description": "Data service Deployment ID for which the backups will be listed.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "backupConfigId", "description": "Backup Configuration ID for which the backups will be listed.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "pagination.pageNumber", "description": "Page number is the page number to return based on the size.", "in": "query", "required": false, "schema": { "type": "string", "format": "int64" } }, { "name": "pagination.pageSize", "description": "Page size is the maximum number of records to include per page.", "in": "query", "required": false, "schema": { "type": "string", "format": "int64" } }, { "name": "sort.sortBy", "description": "Name of the attribute to sort results by.\n\n - FIELD_UNSPECIFIED: Unspecified, do not use.\n - NAME: Sorting based on the name of the resource.\n - CREATED_AT: Sorting on create time of the resource.\n - UPDATED_AT: Sorting on update time of the resource.\n - PHASE: Sorting on phase of the resource.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "FIELD_UNSPECIFIED", "NAME", "CREATED_AT", "UPDATED_AT", "PHASE" ], "default": "FIELD_UNSPECIFIED" } }, { "name": "sort.sortOrder", "description": "Order of sorting to be applied on requested list.\nIf sort_by having some value and sort_order is not provided, by default ascending order will be used to sort the list.\n\n - VALUE_UNSPECIFIED: Unspecified, do not use.\n - ASC: Sort order ascending.\n - DESC: Sort order descending.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "VALUE_UNSPECIFIED", "ASC", "DESC" ], "default": "VALUE_UNSPECIFIED" } } ], "tags": [ "BackupService" ] } }, "/pds/v1/backups/{id}": { "get": { "summary": "GetBackup API returns the Backup resource.", "operationId": "BackupService_GetBackup", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1Backup" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/googlerpcStatus" } } } } }, "parameters": [ { "name": "id", "description": "UID of the Backup.", "in": "path", "required": true, "schema": { "type": "string" } } ], "tags": [ "BackupService" ] }, "delete": { "summary": "DeleteBackup API deletes the Backup resource.", "operationId": "BackupService_DeleteBackup", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "type": "object", "properties": {} } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/googlerpcStatus" } } } } }, "parameters": [ { "name": "id", "description": "UID of the Backup.", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "force", "description": "Force flag to delete backup from control plane only.", "in": "query", "required": false, "schema": { "type": "boolean" } } ], "tags": [ "BackupService" ] } } }, "components": { "schemas": { "SortByField": { "type": "string", "enum": [ "FIELD_UNSPECIFIED", "NAME", "CREATED_AT", "UPDATED_AT", "PHASE" ], "default": "FIELD_UNSPECIFIED", "description": "Field names for sorting the list of resources.\n\n - FIELD_UNSPECIFIED: Unspecified, do not use.\n - NAME: Sorting based on the name of the resource.\n - CREATED_AT: Sorting on create time of the resource.\n - UPDATED_AT: Sorting on update time of the resource.\n - PHASE: Sorting on phase of the resource." }, "SortOrderValue": { "type": "string", "enum": [ "VALUE_UNSPECIFIED", "ASC", "DESC" ], "default": "VALUE_UNSPECIFIED", "description": "Value of sort order for the list of resources.\n\n - VALUE_UNSPECIFIED: Unspecified, do not use.\n - ASC: Sort order ascending.\n - DESC: Sort order descending." }, "StatusPhase": { "type": "string", "enum": [ "PHASE_UNSPECIFIED", "IN_PROGRESS", "COMPLETED", "FAILED" ], "default": "PHASE_UNSPECIFIED", "description": "Enum for Phase of the DataService Deployment.\n\n - PHASE_UNSPECIFIED: Phase is unspecified.\n - IN_PROGRESS: Backup is in_progress.\n - COMPLETED: Backup is completed.\n - FAILED: Backup is failed." }, "backupv1Status": { "type": "object", "properties": { "cloudSnapId": { "type": "string", "description": "CloudSnapID snapshot of the backup volume." }, "startTime": { "type": "string", "format": "date-time", "description": "Start time of the backup." }, "completionTime": { "type": "string", "format": "date-time", "description": "Completion time of the backup." }, "phase": { "$ref": "#/components/schemas/StatusPhase" }, "errorCode": { "type": "string", "description": "ErrorCode if CompletionStatus is \"Failed\"." }, "errorMessage": { "type": "string", "description": "ErrorMessage associated with the ErrorCode." }, "fileSize": { "type": "string", "format": "int64", "description": "FileSize of the CloudSnap image." }, "dataServiceDeploymentMetaData": { "$ref": "#/components/schemas/v1DataServiceDeploymentMetaData" } }, "description": "Status of the Backup." }, "googlerpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/protobufAny" } } } }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "v1Backup": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/v1Meta" }, "config": { "$ref": "#/components/schemas/v1Config" }, "status": { "$ref": "#/components/schemas/backupv1Status" } }, "description": "Resource representing a Data Service Backup." }, "v1Config": { "type": "object", "properties": { "references": { "$ref": "#/components/schemas/v1References" }, "backupCapability": { "type": "string", "description": "BackupCapability of the deployment target when the snapshot was created." } }, "description": "Desired configuration of the Backup." }, "v1DataServiceDeploymentMetaData": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the data service deployment." }, "customResourceName": { "type": "string", "description": "Custom Resource Name is the kubernetes resource name for the deployment meta data." }, "targetClusterName": { "type": "string", "description": "Target cluster Name associated with the backup." }, "namespaceName": { "type": "string", "description": "Namespace name to which the backup is associated." }, "tlsEnabled": { "type": "boolean", "description": "Flag to check whether Transport Layer Security support is enabled or not." }, "dataServiceName": { "type": "string", "description": "Name of the data service of data service deployment." }, "dataServiceVersion": { "type": "string", "description": "Name of the version of data service." }, "imageBuild": { "type": "string", "description": "build tag of the image for the data service version." } }, "description": "DataService Deployment Meta Data contains the details of the deployment associated with the backup." }, "v1ListBackupsResponse": { "type": "object", "properties": { "backups": { "type": "array", "items": { "$ref": "#/components/schemas/v1Backup" }, "description": "List of backup resources." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "Response to list Backup request." }, "v1Meta": { "type": "object", "properties": { "uid": { "type": "string", "description": "UID of the resource of the format -." }, "name": { "type": "string", "description": "Name of the resource." }, "description": { "type": "string", "description": "Description of the resource." }, "resourceVersion": { "type": "string", "description": "A string that identifies the version of this object that can be used by clients to determine when objects have changed.\nThis value must be passed unmodified back to the server by the client." }, "createTime": { "type": "string", "format": "date-time", "description": "Creation time of the object.", "readOnly": true }, "updateTime": { "type": "string", "format": "date-time", "description": "Update time of the object.", "readOnly": true }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Labels to apply to the object." }, "annotations": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Annotations for the object." }, "parentReference": { "$ref": "#/components/schemas/v1Reference" }, "resourceNames": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource names holds the mapping between the resource IDs and its display name which will be consumed by the frontend.", "readOnly": true } }, "description": "Meta holds general resource metadata." }, "v1PageBasedPaginationRequest": { "type": "object", "properties": { "pageNumber": { "type": "string", "format": "int64", "description": "Page number is the page number to return based on the size." }, "pageSize": { "type": "string", "format": "int64", "description": "Page size is the maximum number of records to include per page." } }, "description": "Request parameters for page-based pagination." }, "v1PageBasedPaginationResponse": { "type": "object", "properties": { "totalRecords": { "type": "string", "format": "int64", "description": "Total records without pagination available in the dataset." }, "currentPage": { "type": "string", "format": "int64", "description": "Current page number for this paginated response." }, "pageSize": { "type": "string", "format": "int64", "description": "Page size used for pagination." }, "totalPages": { "type": "string", "format": "int64", "description": "Total pages based on the page_size provided in the request." }, "nextPage": { "type": "string", "format": "int64", "description": "Next page if available in the dataset, -1 if unavailable." }, "prevPage": { "type": "string", "format": "int64", "description": "Previous page if available in the dataset, -1 if unavailable." } }, "description": "Metadata related to page based pagination for paginated API responses." }, "v1Reference": { "type": "object", "properties": { "type": { "type": "string", "description": "API group of the resource." }, "version": { "type": "string", "description": "Version of the API." }, "uid": { "type": "string", "description": "UID of the resource." } }, "description": "Reference identifies the resource type, version of the uid and the resource." }, "v1References": { "type": "object", "properties": { "imageId": { "type": "string", "description": "UID of the image of the data service which will needs to be backup ." } }, "description": "References to other resources." }, "v1Sort": { "type": "object", "properties": { "sortBy": { "$ref": "#/components/schemas/SortByField" }, "sortOrder": { "$ref": "#/components/schemas/SortOrderValue" } }, "description": "The details of the attribute for which the requested list of resource to be sorted." } } } }