{ "swagger": "2.0", "info": { "title": "pkg/apis/v1/api.proto", "version": "version not set" }, "schemes": [ "http", "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/v1/backup": { "post": { "summary": "Creates a new backup object", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupCreateRequest" } } ], "tags": [ "Backup" ] }, "put": { "summary": "Update given backup details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupUpdateRequest" } } ], "tags": [ "Backup" ] } }, "/v1/backup/updatebackupshare": { "put": { "summary": "UpdateBackupShare updates backupshare of existing backup object", "operationId": "UpdateBackupShare", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupShareUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupShareUpdateRequest" } } ], "tags": [ "Backup" ] } }, "/v1/backup/{org_id}": { "get": { "summary": "Enumerate returns a list of objects", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "description": "Organization id", "in": "path", "required": true, "type": "string" }, { "name": "enumerate_options.max_objects", "description": "max objects to fetch.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.time_range.start_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.time_range.end_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.name_filter", "description": "Filter to use for name of objects. Any object that contains the filter\nwill be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.cluster_name_filter", "description": "Filter to use for cluster name of objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.object_index", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.include_detailed_resources", "description": "Ths option will be set to true by the caller, when they want to have\ncomplete backup object. That means the backupObject's\nresource list will be set to complete list of resources.\nIf this option is set to false, resource list will be\nset to nil and rest of the backupObject details will be returned in the\nresponse.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "enumerate_options.cluster_uid_filter", "description": "Filter to use with cluster uid on objects. Any object that contains the\nfilter will be returned\nCurrently backup enumerate request should pass this along with cluster\nname.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.owners", "description": "Filter to use owner uids on objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "enumerate_options.backup_object_type", "description": "filter to use backupObjectType on object.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.status", "description": "filter based on the object status.\nNeed to pass the string value of the status field of the object ( backup /restore )\nFor example, {\"Success\", \"Failed\"}.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "Backup" ] } }, "/v1/backup/{org_id}/{name}": { "get": { "summary": "Inspect returns detail information about a specified object", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "query", "required": false, "type": "string" } ], "tags": [ "Backup" ] }, "delete": { "summary": "Delete triggers delete of a backup", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "cluster", "description": "cluster name or uid to perform delete through.", "in": "query", "required": false, "type": "string" }, { "name": "uid", "in": "query", "required": false, "type": "string" }, { "name": "cluster_ref.name", "in": "query", "required": false, "type": "string" }, { "name": "cluster_ref.uid", "in": "query", "required": false, "type": "string" } ], "tags": [ "Backup" ] } }, "/v1/backuplocation": { "post": { "summary": "Creates new backup location", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupLocationCreateRequest" } } ], "tags": [ "BackupLocation" ] }, "put": { "summary": "Update given backup location details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupLocationUpdateRequest" } } ], "tags": [ "BackupLocation" ] } }, "/v1/backuplocation/updateownership": { "put": { "summary": "UpdateOwnership updates ownership of existing object", "operationId": "UpdateOwnership", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationOwnershipUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupLocationOwnershipUpdateRequest" } } ], "tags": [ "BackupLocation" ] } }, "/v1/backuplocation/validate": { "post": { "summary": "Verify if a backup location is valid", "operationId": "Validate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationValidateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupLocationValidateRequest" } } ], "tags": [ "BackupLocation" ] } }, "/v1/backuplocation/{org_id}": { "get": { "summary": "Enumerate returns a list of backup locations", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "cloud_credential", "description": "cloud credential name.\nEnumerate will return list of backuplocation that\nuses this cloud credential\ncloud_credential is deprecated, not to be used.", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential_ref.name", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential_ref.uid", "in": "query", "required": false, "type": "string" }, { "name": "include_secrets", "description": "enable include_secrets to get the encryptionKey value.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "include_validation_state", "description": "If true, include backuplocation that are in ValidationInProgress state as\nwell.", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "BackupLocation" ] } }, "/v1/backuplocation/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detailed information about a specified backup location", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "description": "enable include_secrets to get the encryptionKey value.", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "BackupLocation" ] }, "delete": { "summary": "Delete removes a backup location", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupLocationDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" }, { "name": "delete_backups", "description": "delete_backups is deprecated, not to be used.", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "BackupLocation" ] } }, "/v1/backupschedule": { "post": { "summary": "Creates new backup schedule", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupScheduleCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupScheduleCreateRequest" } } ], "tags": [ "BackupSchedule" ] }, "put": { "summary": "Updates a backup schedule", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupScheduleUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackupScheduleUpdateRequest" } } ], "tags": [ "BackupSchedule" ] } }, "/v1/backupschedule/{org_id}": { "get": { "summary": "Enumerate returns a list of backup schedule", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupScheduleEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "backup_location", "description": "Backuplocation name.\nEnumerate will return list of backupschedule that\nuses this backuplocation\nbackup_location is deprecated, not to be used.", "in": "query", "required": false, "type": "string" }, { "name": "backup_location_ref.name", "in": "query", "required": false, "type": "string" }, { "name": "backup_location_ref.uid", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.max_objects", "description": "max objects to fetch.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.time_range.start_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.time_range.end_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.name_filter", "description": "Filter to use for name of objects. Any object that contains the filter\nwill be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.cluster_name_filter", "description": "Filter to use for cluster name of objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.object_index", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.include_detailed_resources", "description": "Ths option will be set to true by the caller, when they want to have\ncomplete backup object. That means the backupObject's\nresource list will be set to complete list of resources.\nIf this option is set to false, resource list will be\nset to nil and rest of the backupObject details will be returned in the\nresponse.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "enumerate_options.cluster_uid_filter", "description": "Filter to use with cluster uid on objects. Any object that contains the\nfilter will be returned\nCurrently backup enumerate request should pass this along with cluster\nname.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.owners", "description": "Filter to use owner uids on objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "enumerate_options.backup_object_type", "description": "filter to use backupObjectType on object.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.status", "description": "filter based on the object status.\nNeed to pass the string value of the status field of the object ( backup /restore )\nFor example, {\"Success\", \"Failed\"}.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "BackupSchedule" ] } }, "/v1/backupschedule/{org_id}/{name}": { "get": { "summary": "Inspect returns detail information about a specified backup schedule", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupScheduleInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "query", "required": false, "type": "string" } ], "tags": [ "BackupSchedule" ] }, "delete": { "summary": "Delete removes a backup schedule", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/BackupScheduleDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "delete_backups", "description": "delete_backups is deprecated, not to be used.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "uid", "in": "query", "required": false, "type": "string" } ], "tags": [ "BackupSchedule" ] } }, "/v1/cloudcredential": { "post": { "summary": "Creates new cloud credential", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CloudCredentialCreateRequest" } } ], "tags": [ "CloudCredential" ] }, "put": { "summary": "Update given cloud credential details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CloudCredentialUpdateRequest" } } ], "tags": [ "CloudCredential" ] } }, "/v1/cloudcredential/updateownership": { "put": { "summary": "UpdateOwnership updates ownership of existing object", "operationId": "UpdateOwnership", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialOwnershipUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CloudCredentialOwnershipUpdateRequest" } } ], "tags": [ "CloudCredential" ] } }, "/v1/cloudcredential/{org_id}": { "get": { "summary": "Enumerate returns a list of cloud credentials", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "CloudCredential" ] } }, "/v1/cloudcredential/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detailed information about the specified cloud credential", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "CloudCredential" ] }, "delete": { "summary": "Delete removes a cloud credential", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CloudCredentialDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "CloudCredential" ] } }, "/v1/cluster": { "post": { "summary": "Creates a new cluster", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterCreateRequest" } } ], "tags": [ "Cluster" ] }, "put": { "summary": "Update given cluster details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterUpdateRequest" } } ], "tags": [ "Cluster" ] } }, "/v1/cluster/updatebackupshare": { "put": { "summary": "UpdateBackupShare updates ownership details for backup share at cluster\nlevel", "operationId": "UpdateBackupShare", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterBackupShareUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterBackupShareUpdateRequest" } } ], "tags": [ "Cluster" ] } }, "/v1/cluster/{org_id}": { "get": { "summary": "Enumerate returns a list of clusters", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "cloud_credential", "description": "cloud credential name.\nEnumerate will return list of cluster that\nuses this cloud credential\ncloud_credential is deprecated, not to be used.", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential_ref.name", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential_ref.uid", "in": "query", "required": false, "type": "string" }, { "name": "only_backup_share", "description": "Set this to true, to get the backupshare enabled cluster list.", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "Cluster" ] } }, "/v1/cluster/{org_id}/{name}": { "delete": { "summary": "Delete removes a cluster", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "delete_backups", "description": "delete_backups is deprecated, not to be used.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "delete_restores", "description": "delete_restores indicates whether the restore related to cluster need to\nbe deleted or retained.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "uid", "description": "indicate the uid of the particular object.", "in": "query", "required": false, "type": "string" }, { "name": "delete_all_cluster_backups", "description": "delete_all_cluster_backup if set will delete all backups on the cluster\nallowed only to super admin Role.", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "Cluster" ] } }, "/v1/cluster/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detail information about a specified cluster", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ClusterInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "Cluster" ] } }, "/v1/health": { "get": { "summary": "Status checks the health of the server", "operationId": "Status", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/HealthStatusResponse" } } }, "tags": [ "Health" ] } }, "/v1/license": { "post": { "summary": "Activate activate a new license", "operationId": "Activate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/LicenseActivateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LicenseActivateRequest" } } ], "tags": [ "License" ] }, "put": { "summary": "Updates Usage Based activation ID", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/LicenseUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/LicenseUpdateRequest" } } ], "tags": [ "License" ] } }, "/v1/license/{org_id}": { "get": { "summary": "Enumerate returns a list of license for given cluster", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/LicenseInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" } ], "tags": [ "License" ] } }, "/v1/license/{org_id}/license_usage_airgapped": { "get": { "operationId": "EnumerateLicenseUsageAirGapped", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/LicenseUsageAirgappedResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "object_index", "description": "index from where object fetch has to happen.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "max_objects", "description": "max objects to fetch.", "in": "query", "required": false, "type": "string", "format": "uint64" } ], "tags": [ "License" ] } }, "/v1/managedcluster/{org_id}": { "get": { "summary": "Inspect returns detailed information on a managed cluster from providers\nlike\nAWS, Azure, GCE, IBM\nusing the given credentials", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ManagedClusterInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "description": "Managed cluster name to be searched for.", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential.name", "in": "query", "required": false, "type": "string" }, { "name": "cloud_credential.uid", "in": "query", "required": false, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "provider", "in": "query", "required": false, "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google" ], "default": "Invalid" }, { "name": "uid", "description": "indicate the uid of the particular object.", "in": "query", "required": false, "type": "string" }, { "name": "aws_config.region", "description": "Region for scanning clusters.", "in": "query", "required": false, "type": "string" } ], "tags": [ "ManagedClusters" ] } }, "/v1/managedclusters": { "post": { "summary": "Bulk add discovered clusters", "operationId": "BulkAdd", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ManagedClusterBulkAddResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ManagedClusterBulkAddRequest" } } ], "tags": [ "ManagedClusters" ] } }, "/v1/metrics/{org_id}": { "get": { "summary": "Returns metrics details of backups", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricsInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" } ], "tags": [ "Metrics" ] }, "post": { "summary": "Pass metrics from other pods to px-backup, which will push as px-backup metrics to Prometheus", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricsCreateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/MetricsCreateRequest" } } ], "tags": [ "Metrics" ] } }, "/v1/organization": { "get": { "summary": "Enumerate returns a list of organization object", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/OrganizationEnumerateResponse" } } }, "tags": [ "Organization" ] }, "post": { "summary": "Creates new organization object in datastore", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/OrganizationCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/OrganizationCreateRequest" } } ], "tags": [ "Organization" ] } }, "/v1/organization/{name}": { "get": { "summary": "Inspect returns detailed information about specified organization object", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/OrganizationInspectResponse" } } }, "parameters": [ { "name": "name", "in": "path", "required": true, "type": "string" } ], "tags": [ "Organization" ] }, "delete": { "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/OrganizationDeleteResponse" } } }, "parameters": [ { "name": "name", "description": "Name of the org to be deleted", "in": "path", "required": true, "type": "string" } ], "tags": [ "Organization" ] } }, "/v1/receiver": { "post": { "summary": "Create new alert manager receiver", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReceiverCreateRequest" } } ], "tags": [ "Receiver" ] }, "put": { "summary": "Update the details of a alert manager receiver", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReceiverUpdateRequest" } } ], "tags": [ "Receiver" ] } }, "/v1/receiver/validate": { "post": { "summary": "Validates SMTP service", "operationId": "ValidateSMTP", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverValidateSMTPResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ReceiverValidateSMTPRequest" } } ], "tags": [ "Receiver" ] } }, "/v1/receiver/{org_id}": { "get": { "summary": "Returns a list of alert manager receivers", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "query", "required": false, "type": "boolean", "format": "boolean" } ], "tags": [ "Receiver" ] } }, "/v1/receiver/{org_id}/{name}/{uid}": { "delete": { "summary": "Delete a specific alert manager receiver", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Receiver" ] } }, "/v1/receiver/{org_id}/{name}/{uid}/{include_secrets}/{type}": { "get": { "summary": "Returns the details of a specific alert manager receiver", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ReceiverInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" }, { "name": "include_secrets", "in": "path", "required": true, "type": "boolean", "format": "boolean" }, { "name": "type", "in": "path", "required": true, "type": "string" } ], "tags": [ "Receiver" ] } }, "/v1/recipient": { "post": { "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RecipientCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RecipientCreateRequest" } } ], "tags": [ "Recipient" ] }, "put": { "summary": "Update the details of a recipient", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RecipientUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RecipientUpdateRequest" } } ], "tags": [ "Recipient" ] } }, "/v1/recipient/{org_id}": { "get": { "summary": "Returns a list of recipients for alerting", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RecipientEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "type", "description": "Type of notification on user level.", "in": "query", "required": false, "type": "string", "enum": [ "INVALID", "EMAIL" ], "default": "INVALID" } ], "tags": [ "Recipient" ] } }, "/v1/recipient/{org_id}/{name}/{uid}": { "get": { "summary": "Returns the details of a specific recipient", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RecipientInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Recipient" ] }, "delete": { "summary": "Delete a specific recipient", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RecipientDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Recipient" ] } }, "/v1/restore": { "post": { "summary": "Creates new restore object in datastore\nIt will also trigger a restore operation on the target cluster", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RestoreCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RestoreCreateRequest" } } ], "tags": [ "Restore" ] }, "put": { "summary": "Update given restore details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RestoreUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RestoreUpdateRequest" } } ], "tags": [ "Restore" ] } }, "/v1/restore/{org_id}": { "get": { "summary": "Enumerate returns a list of restore objects", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RestoreEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "description": "Organization id", "in": "path", "required": true, "type": "string" }, { "name": "enumerate_options.max_objects", "description": "max objects to fetch.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.time_range.start_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.time_range.end_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.name_filter", "description": "Filter to use for name of objects. Any object that contains the filter\nwill be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.cluster_name_filter", "description": "Filter to use for cluster name of objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.object_index", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.include_detailed_resources", "description": "Ths option will be set to true by the caller, when they want to have\ncomplete backup object. That means the backupObject's\nresource list will be set to complete list of resources.\nIf this option is set to false, resource list will be\nset to nil and rest of the backupObject details will be returned in the\nresponse.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "enumerate_options.cluster_uid_filter", "description": "Filter to use with cluster uid on objects. Any object that contains the\nfilter will be returned\nCurrently backup enumerate request should pass this along with cluster\nname.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.owners", "description": "Filter to use owner uids on objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "enumerate_options.backup_object_type", "description": "filter to use backupObjectType on object.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.status", "description": "filter based on the object status.\nNeed to pass the string value of the status field of the object ( backup /restore )\nFor example, {\"Success\", \"Failed\"}.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "Restore" ] } }, "/v1/restore/{org_id}/{days}/{interval}": { "get": { "summary": "Enumerate returns a list of activity data for a given time period", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ActivityEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "days", "description": "Time period for which activity is needed", "in": "path", "required": true, "type": "integer", "format": "int32" }, { "name": "interval", "description": "Interval for which we want the activity\nFor now Hourly and Daily are supported", "in": "path", "required": true, "type": "string", "enum": [ "Invalid", "Hourly", "Daily" ] }, { "name": "time_zone", "in": "query", "required": false, "type": "string" }, { "name": "cluster", "in": "query", "required": false, "type": "string" }, { "name": "kind", "description": "For which type of Actvity data eg: backup, restore, etc..", "in": "query", "required": false, "type": "string" }, { "name": "cluster_ref.name", "in": "query", "required": false, "type": "string" }, { "name": "cluster_ref.uid", "in": "query", "required": false, "type": "string" } ], "tags": [ "ActivityTimeLine" ] } }, "/v1/restore/{org_id}/{name}": { "get": { "summary": "Inspect returns detailed information about specified restore object", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RestoreInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "description": "indicate the uid of the particular object.", "in": "query", "required": false, "type": "string" } ], "tags": [ "Restore" ] }, "delete": { "summary": "Delete removes a restore object", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RestoreDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "description": "indicate the uid of the particular object.", "in": "query", "required": false, "type": "string" } ], "tags": [ "Restore" ] } }, "/v1/role": { "get": { "summary": "Permission returns list of service,apis permission for given user", "operationId": "Permission", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RolePermissionResponse" } } }, "parameters": [ { "name": "org_id", "in": "query", "required": false, "type": "string" } ], "tags": [ "Role" ] }, "post": { "summary": "Creates new role object in datastore", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RoleCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RoleCreateRequest" } } ], "tags": [ "Role" ] }, "put": { "summary": "Update given role information", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RoleUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RoleUpdateRequest" } } ], "tags": [ "Role" ] } }, "/v1/role/{org_id}": { "get": { "summary": "Enumerate returns a list of roles object", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RoleEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "enumerate_options.max_objects", "description": "max objects to fetch.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.time_range.start_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.time_range.end_time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "enumerate_options.name_filter", "description": "Filter to use for name of objects. Any object that contains the filter\nwill be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.cluster_name_filter", "description": "Filter to use for cluster name of objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.object_index", "in": "query", "required": false, "type": "string", "format": "uint64" }, { "name": "enumerate_options.include_detailed_resources", "description": "Ths option will be set to true by the caller, when they want to have\ncomplete backup object. That means the backupObject's\nresource list will be set to complete list of resources.\nIf this option is set to false, resource list will be\nset to nil and rest of the backupObject details will be returned in the\nresponse.", "in": "query", "required": false, "type": "boolean", "format": "boolean" }, { "name": "enumerate_options.cluster_uid_filter", "description": "Filter to use with cluster uid on objects. Any object that contains the\nfilter will be returned\nCurrently backup enumerate request should pass this along with cluster\nname.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.owners", "description": "Filter to use owner uids on objects. Any object that contains the\nfilter will be returned.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "enumerate_options.backup_object_type", "description": "filter to use backupObjectType on object.", "in": "query", "required": false, "type": "string" }, { "name": "enumerate_options.status", "description": "filter based on the object status.\nNeed to pass the string value of the status field of the object ( backup /restore )\nFor example, {\"Success\", \"Failed\"}.", "in": "query", "required": false, "type": "array", "items": { "type": "string" } } ], "tags": [ "Role" ] } }, "/v1/role/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detailed information about requested role object", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RoleInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Role" ] }, "delete": { "summary": "Delete removes given role from px-backup", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RoleDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Role" ] } }, "/v1/rule": { "post": { "summary": "Creates new rule", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RuleCreateRequest" } } ], "tags": [ "Rules" ] }, "put": { "summary": "Update given rule details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RuleUpdateRequest" } } ], "tags": [ "Rules" ] } }, "/v1/rule/updateownership": { "put": { "summary": "UpdateOwnership updates ownership of existing object", "operationId": "UpdateOwnership", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleOwnershipUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/RuleOwnershipUpdateRequest" } } ], "tags": [ "Rules" ] } }, "/v1/rule/{org_id}": { "get": { "summary": "Enumerate returns a list of rules", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" } ], "tags": [ "Rules" ] } }, "/v1/rule/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detailed information about the specified rule", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Rules" ] }, "delete": { "summary": "Delete removes rule from px-backup", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/RuleDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "Rules" ] } }, "/v1/schedulepolicy": { "post": { "summary": "Creates new schedule policy.", "operationId": "Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyCreateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/SchedulePolicyCreateRequest" } } ], "tags": [ "SchedulePolicy" ] }, "put": { "summary": "Update given schedule policy details", "operationId": "Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/SchedulePolicyUpdateRequest" } } ], "tags": [ "SchedulePolicy" ] } }, "/v1/schedulepolicy/updateownership": { "put": { "summary": "UpdateOwnership updates ownership of existing object", "operationId": "UpdateOwnership", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyOwnershipUpdateResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/SchedulePolicyOwnershipUpdateRequest" } } ], "tags": [ "SchedulePolicy" ] } }, "/v1/schedulepolicy/{org_id}": { "get": { "summary": "Enumerate returns a list of schedule policy", "operationId": "Enumerate", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyEnumerateResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" } ], "tags": [ "SchedulePolicy" ] } }, "/v1/schedulepolicy/{org_id}/{name}/{uid}": { "get": { "summary": "Inspect returns detail information about a specified schedule policy", "operationId": "Inspect", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyInspectResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "SchedulePolicy" ] }, "delete": { "summary": "Delete removes a schedule policy", "operationId": "Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SchedulePolicyDeleteResponse" } } }, "parameters": [ { "name": "org_id", "in": "path", "required": true, "type": "string" }, { "name": "name", "in": "path", "required": true, "type": "string" }, { "name": "uid", "in": "path", "required": true, "type": "string" } ], "tags": [ "SchedulePolicy" ] } }, "/v1/sharecluster": { "patch": { "summary": "ShareCluster shares access to the cluster to the user(s) or group(s)", "operationId": "ShareCluster", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ShareClusterResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ShareClusterRequest" } } ], "tags": [ "Cluster" ] } }, "/v1/unsharecluster": { "patch": { "summary": "UnShareCluster removes shared access for the user(s) or group(s) to the cluster", "operationId": "UnShareCluster", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/UnShareClusterResponse" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UnShareClusterRequest" } } ], "tags": [ "Cluster" ] } }, "/v1/version": { "get": { "summary": "gets the version of the server", "operationId": "Get", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/VersionGetResponse" } } }, "tags": [ "Version" ] } } }, "definitions": { "AWSConfig": { "type": "object", "properties": { "access_key": { "type": "string" }, "secret_key": { "type": "string" } } }, "ActivityEnumerateRequestInterval": { "type": "string", "enum": [ "Invalid", "Hourly", "Daily" ], "default": "Invalid" }, "ActivityEnumerateResponse": { "type": "object", "properties": { "activity_data": { "type": "array", "items": { "$ref": "#/definitions/ActivityEnumerateResponseData" } } } }, "ActivityEnumerateResponseData": { "type": "object", "properties": { "start_time": { "type": "string", "format": "date-time" }, "end_time": { "type": "string", "format": "date-time" }, "successful": { "type": "string", "format": "uint64" }, "failed": { "type": "string", "format": "uint64" }, "in_progress": { "type": "string", "format": "uint64" }, "completion_time": { "type": "number", "format": "double" }, "total": { "type": "string", "format": "uint64", "title": "Total number of backups in a given time frame (success/failure)" } } }, "AzureConfig": { "type": "object", "properties": { "account_name": { "type": "string" }, "account_key": { "type": "string" }, "client_secret": { "type": "string" }, "client_id": { "type": "string" }, "tenant_id": { "type": "string" }, "subscription_id": { "type": "string", "description": "TODO: Need to see if this has to be here or in the backup object." } } }, "BackupCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "backup_location": { "type": "string", "description": "Name or UID + orgid of BackupLocation\nbackup_location is deprecated, not to be used." }, "cluster": { "type": "string", "title": "Name or UID of Cluster" }, "namespaces": { "type": "array", "items": { "type": "string" }, "title": "Namespaces to backup. Only an admin can provide multiple namespaces" }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "pre_exec_rule": { "type": "string", "description": "Pre check rule to run before backup is started\ndeprecated, not to be used." }, "post_exec_rule": { "type": "string", "description": "Post check rule to run after backup is completed\ndeprecated, not to be used." }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" }, "title": "List of resources to backup (optional)" }, "csi_snapshot_class_name": { "type": "string", "description": "Snapshot class name to use for backup (optional)\ndeprecated, not to be used." }, "resource_types": { "type": "array", "items": { "type": "string" }, "title": "List of resource types to backup (optional)" }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "pre_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "post_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_type": { "$ref": "#/definitions/BackupCreateRequestBackupType", "title": "To get type of backup (generic or non-generic)" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "ns_label_selectors": { "type": "string" }, "backup_object_type": { "$ref": "#/definitions/BackupCreateRequestBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" }, "skip_vm_auto_exec_rules": { "type": "boolean", "format": "boolean", "title": "Skip auto rules for VirtualMachine Backup Object type" }, "volume_snapshot_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "volume snapshot class mapping for csi based backup \u003cprovisioner(string), volumesnapshotclass(string)\u003e (optional)" }, "direct_kdmp": { "type": "boolean", "format": "boolean", "title": "option to take backup as direct kdmp" } }, "title": "Request message structure for backup create" }, "BackupCreateRequestBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupCreateRequestBackupObjectTypeType" } } }, "BackupCreateRequestBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "BackupCreateRequestBackupType": { "type": "string", "enum": [ "Invalid", "Generic", "Normal" ], "default": "Invalid" }, "BackupCreateResponse": { "type": "object", "properties": { "backup": { "$ref": "#/definitions/BackupObject" } }, "title": "Response message structure for backup create" }, "BackupDeleteResponse": { "type": "object", "title": "Response message structure for object delete" }, "BackupEnumerateResponse": { "type": "object", "properties": { "backups": { "type": "array", "items": { "$ref": "#/definitions/BackupObject" } }, "total_count": { "type": "string", "format": "uint64" }, "complete": { "type": "boolean", "format": "boolean" } }, "title": "Response message structure for enumerate create" }, "BackupInfo": { "type": "object", "properties": { "backup_location": { "type": "string", "description": "Name of BackupLocation, deprecated. Not to be used." }, "cluster": { "type": "string", "title": "Name of Cluster" }, "namespaces": { "type": "array", "items": { "type": "string" }, "title": "Namespaces to backup. Only an admin can provide multiple namespaces" }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "status": { "$ref": "#/definitions/BackupInfoStatusInfo" }, "resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" } }, "volumes": { "type": "array", "items": { "$ref": "#/definitions/BackupInfoVolume" } }, "backup_path": { "type": "string" }, "stage": { "$ref": "#/definitions/BackupInfoStage" }, "pre_exec_rule": { "type": "string", "title": "pre_exec_rule and post_exec_rule are deprecated, not to be used," }, "post_exec_rule": { "type": "string" }, "backup_schedule": { "$ref": "#/definitions/BackupInfoBackupSchedule", "description": "Name of the backup schedule, if the backup was taken by schedule through\npx-backup.\nOtherwise it will be empty." }, "cr_name": { "type": "string" }, "total_size": { "type": "string", "format": "uint64" }, "cloud_credential": { "type": "string", "description": "Reference to cloud credential object used for backup.\ncloud_credential is deprecated, not to be used." }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" } }, "resource_count": { "type": "string", "format": "uint64" }, "stork_version": { "type": "string" }, "csi_snapshot_class_name": { "type": "string", "description": "deprecated, not to be used." }, "resource_types": { "type": "array", "items": { "type": "string" } }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "pre_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "post_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_type": { "$ref": "#/definitions/BackupInfoBackupType", "title": "To get type of backup (generic or non-generic)" }, "cr_uid": { "type": "string" }, "retention_period": { "type": "string", "format": "int64" }, "backup_share": { "$ref": "#/definitions/BackupShare" }, "user_backupshare_access": { "$ref": "#/definitions/BackupShareAccessType" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "ns_label_selectors": { "type": "string" }, "rancher_projects": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Name of rancher projects associated with resources" }, "target_namespace": { "type": "string", "title": "Target namespace of CR" }, "large_resource_enabled": { "type": "boolean", "format": "boolean", "title": "this flag signifies if the backup involves large number of resources or not" }, "backup_object_type": { "$ref": "#/definitions/BackupInfoBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" }, "skip_vm_auto_exec_rules": { "type": "boolean", "format": "boolean", "title": "Skip auto rules for VirtualMachine Backup Object type" }, "volume_snapshot_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "volume snapshot class mapping for csi based backup \u003cprovisioner(string), volumesnapshotclass(string)\u003e (optional)" }, "direct_kdmp": { "type": "boolean", "format": "boolean", "title": "option to take backup as direct kdmp" }, "retention_time": { "type": "string", "format": "date-time", "title": "this will store the timestamp, when the retention period of locked backup will be expired" }, "completion_time_info": { "$ref": "#/definitions/completionTimeInfo", "title": "this will store the completion time of the volumes, resources and total backup" } } }, "BackupInfoBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupInfoBackupObjectTypeType" } } }, "BackupInfoBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "BackupInfoBackupSchedule": { "type": "object", "properties": { "uid": { "type": "string" }, "name": { "type": "string" } } }, "BackupInfoBackupType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupInfoBackupTypeType" } } }, "BackupInfoBackupTypeType": { "type": "string", "enum": [ "Invalid", "Generic", "Normal" ], "default": "Invalid" }, "BackupInfoStage": { "type": "string", "enum": [ "Invalid", "Initial", "PreExecRule", "PostExecRule", "Volumes", "Applications", "Final" ], "default": "Invalid" }, "BackupInfoStatusInfo": { "type": "object", "properties": { "status": { "$ref": "#/definitions/BackupInfoStatusInfoStatus" }, "reason": { "type": "string" } }, "description": "Message for maintaining status of the object." }, "BackupInfoStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "Pending", "InProgress", "Aborted", "Failed", "Deleting", "Success", "Captured", "PartialSuccess", "DeletePending", "CloudBackupMissing" ], "default": "Invalid" }, "BackupInfoVolume": { "type": "object", "properties": { "name": { "type": "string" }, "namespace": { "type": "string" }, "pvc": { "type": "string" }, "backup_id": { "type": "string" }, "status": { "$ref": "#/definitions/BackupInfoStatusInfo" }, "driver_name": { "type": "string" }, "zones": { "type": "array", "items": { "type": "string" } }, "options": { "type": "object", "additionalProperties": { "type": "string" } }, "total_size": { "type": "string", "format": "uint64" }, "actual_size": { "type": "string", "format": "uint64", "title": "actual size of the backup\nincase of incremental, it's the incremental backup size" }, "storage_class": { "type": "string" }, "pvc_id": { "type": "string" }, "provisioner": { "type": "string" }, "volumesnapshot": { "type": "string" }, "job_security_context": { "$ref": "#/definitions/VolumeJobSecurityContext", "title": "As part of restrictive PSA setting, if an UID or GID is used during backup then same value should be used during restore (optional)" } } }, "BackupInspectResponse": { "type": "object", "properties": { "backup": { "$ref": "#/definitions/BackupObject" } }, "title": "Response message structure for object inspect" }, "BackupLocationCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "backup_location": { "$ref": "#/definitions/BackupLocationInfo" } }, "title": "Define BackupLocationCreateRequest struct" }, "BackupLocationCreateResponse": { "type": "object", "properties": { "backup_location": { "$ref": "#/definitions/BackupLocationObject" } }, "title": "Define BackupLocationCreateResponse struct" }, "BackupLocationDeleteResponse": { "type": "object", "title": "Define BackupLocationDeleteResponse struct" }, "BackupLocationEnumerateResponse": { "type": "object", "properties": { "backup_locations": { "type": "array", "items": { "$ref": "#/definitions/BackupLocationObject" } } }, "title": "Define BackupLocationEnumerateResponse struct" }, "BackupLocationInfo": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupLocationInfoType" }, "path": { "type": "string" }, "encryption_key": { "type": "string" }, "cloud_credential": { "type": "string", "description": "cloud_credential is deprecated, not to be used." }, "status": { "$ref": "#/definitions/BackupLocationInfoStatusInfo" }, "delete_backups": { "type": "boolean", "format": "boolean" }, "validate_cloud_credential": { "type": "boolean", "format": "boolean" }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "object_lock_enabled": { "type": "boolean", "format": "boolean" }, "s3_config": { "$ref": "#/definitions/S3Config" }, "nfs_config": { "$ref": "#/definitions/NFSConfig" } } }, "BackupLocationInfoStatusInfo": { "type": "object", "properties": { "status": { "$ref": "#/definitions/BackupLocationInfoStatusInfoStatus" }, "reason": { "type": "string" } }, "description": "Message for maintaining status of the object." }, "BackupLocationInfoStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "Valid", "DeletePending", "ValidationInProgress", "ValidationFailed", "LimitedAvailability" ], "default": "Invalid", "description": " - LimitedAvailability: If a BL is being used for partial backup, mark it as LimitedAvailability." }, "BackupLocationInfoType": { "type": "string", "enum": [ "Invalid", "S3", "Azure", "Google", "NFS" ], "default": "Invalid" }, "BackupLocationInspectResponse": { "type": "object", "properties": { "backup_location": { "$ref": "#/definitions/BackupLocationObject" } }, "title": "Define BackupLocationInspectResponse struct" }, "BackupLocationObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "backup_location_info": { "$ref": "#/definitions/BackupLocationInfo" } } }, "BackupLocationOwnershipUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string", "title": "Backup location to be updated" }, "ownership": { "$ref": "#/definitions/Ownership" }, "uid": { "type": "string" } }, "title": "Define BackupLocationOwnershipUpdateRequest struct" }, "BackupLocationOwnershipUpdateResponse": { "type": "object", "title": "Define BackupLocationOwnershipUpdateResponse struct" }, "BackupLocationUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "backup_location": { "$ref": "#/definitions/BackupLocationInfo" } }, "title": "Define BackupLocationUpdateRequest struct" }, "BackupLocationUpdateResponse": { "type": "object", "title": "Define BackupLocationUpdateResponse struct" }, "BackupLocationValidateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string" }, "uid": { "type": "string" } }, "title": "Define BackupLocationValidateRequest struct" }, "BackupLocationValidateResponse": { "type": "object", "title": "Define BackupLocationValidateResponse struct" }, "BackupObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "backup_info": { "$ref": "#/definitions/BackupInfo" } }, "description": "Message for Backup object which will be stored in Datastore." }, "BackupScheduleCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "schedule_policy": { "type": "string", "title": "schedule_policy is deprecated, not to be used" }, "reclaim_policy": { "$ref": "#/definitions/BackupScheduleInfoReclaimPolicyType" }, "backup_location": { "type": "string", "title": "Name of BackupLocation, is deprecated. Not to be used" }, "cluster": { "type": "string", "title": "Name of Cluster" }, "namespaces": { "type": "array", "items": { "type": "string" }, "title": "Namespaces to backup. Only an admin can provide multiple namespaces" }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "pre_exec_rule": { "type": "string", "description": "pre_exec_rule and post_exec_rule are deprecated. Not to be used." }, "post_exec_rule": { "type": "string" }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" }, "title": "List of resources to backup (optional)" }, "csi_snapshot_class_name": { "type": "string", "description": "Snapshot class name to use for backup schedule (optional)\ndeprecated, not to be used." }, "resource_types": { "type": "array", "items": { "type": "string" }, "title": "List of resource types to backup (optional)" }, "schedule_policy_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "pre_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "post_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_type": { "$ref": "#/definitions/BackupScheduleCreateRequestBackupType", "title": "To get type of backup (generic or non-generic)" }, "ns_label_selectors": { "type": "string" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_object_type": { "$ref": "#/definitions/BackupScheduleCreateRequestBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" }, "skip_vm_auto_exec_rules": { "type": "boolean", "format": "boolean", "title": "Skip auto rules for VirtualMachine Backup Object type" }, "volume_snapshot_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "volume snapshot class mapping for csi based backup \u003cprovisioner(string), volumesnapshotclass(string)\u003e (optional)" }, "direct_kdmp": { "type": "boolean", "format": "boolean", "title": "option to take backup as direct kdmp" } }, "title": "Define BackupScheduleCreateRequest struct" }, "BackupScheduleCreateRequestBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupScheduleCreateRequestBackupObjectTypeType" } } }, "BackupScheduleCreateRequestBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "BackupScheduleCreateRequestBackupType": { "type": "string", "enum": [ "Invalid", "Generic", "Normal" ], "default": "Invalid" }, "BackupScheduleCreateResponse": { "type": "object", "properties": { "backup_schedule": { "$ref": "#/definitions/BackupScheduleObject" } }, "title": "Define BackupScheduleCreateResponse struct" }, "BackupScheduleDeleteResponse": { "type": "object", "title": "Define BackupScheduleDeleteResponse struct" }, "BackupScheduleEnumerateResponse": { "type": "object", "properties": { "backup_schedules": { "type": "array", "items": { "$ref": "#/definitions/BackupScheduleObject" } }, "total_count": { "type": "string", "format": "uint64" } }, "title": "Define BackupScheduleEnumerateResponse struct" }, "BackupScheduleInfo": { "type": "object", "properties": { "schedule_policy": { "type": "string", "description": "schedule_policy is deprecated, not to be used." }, "suspend": { "type": "boolean", "format": "boolean" }, "reclaim_policy": { "$ref": "#/definitions/BackupScheduleInfoReclaimPolicyType" }, "backup_status": { "type": "object", "additionalProperties": { "$ref": "#/definitions/BackupScheduleInfoStatusInfoList" } }, "backup_location": { "type": "string", "description": "Name of BackupLocation, is deprecated. Not to be used." }, "cluster": { "type": "string", "title": "Name of Cluster" }, "namespaces": { "type": "array", "items": { "type": "string" }, "title": "Namespaces to backup. Only an admin can provide multiple namespaces" }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "pre_exec_rule": { "type": "string", "description": "pre_exec_rule and post_exec_rule is deprecated. Not to be used." }, "post_exec_rule": { "type": "string" }, "delete_backups": { "type": "boolean", "format": "boolean" }, "status": { "$ref": "#/definitions/BackupScheduleInfoStatusInfo" }, "suspended_by": { "$ref": "#/definitions/BackupScheduleInfoSuspendedBy" }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" } }, "stork_version": { "type": "string" }, "csi_snapshot_class_name": { "type": "string", "description": "deprecated, not to be used." }, "resource_types": { "type": "array", "items": { "type": "string" } }, "schedule_policy_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "pre_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "post_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_type": { "$ref": "#/definitions/BackupScheduleInfoBackupType", "title": "To get type of backup (generic or non-generic)" }, "ns_label_selectors": { "type": "string", "title": "Label selectors to choose namespaces" }, "target_namespace": { "type": "string", "title": "Target namespace of CR" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_object_type": { "$ref": "#/definitions/BackupScheduleInfoBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" }, "skip_vm_auto_exec_rules": { "type": "boolean", "format": "boolean", "title": "Skip auto rules for VirtualMachine Backup Object type" }, "volume_snapshot_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "volume snapshot class mapping for csi based backup \u003cprovisioner(string), volumesnapshotclass(string)\u003e (optional)" }, "direct_kdmp": { "type": "boolean", "format": "boolean", "title": "option to take backup as direct kdmp" } } }, "BackupScheduleInfoBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupScheduleInfoBackupObjectTypeType" } } }, "BackupScheduleInfoBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "BackupScheduleInfoBackupType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/BackupScheduleInfoBackupTypeType" } } }, "BackupScheduleInfoBackupTypeType": { "type": "string", "enum": [ "Invalid", "Generic", "Normal" ], "default": "Invalid" }, "BackupScheduleInfoReclaimPolicyType": { "type": "string", "enum": [ "Invalid", "Delete", "Retain" ], "default": "Invalid" }, "BackupScheduleInfoStatusInfo": { "type": "object", "properties": { "backup_name": { "type": "string", "title": "backup name" }, "create_time": { "type": "string", "format": "date-time" }, "finish_time": { "type": "string", "format": "date-time" }, "status": { "$ref": "#/definitions/BackupScheduleInfoStatusInfoStatus" }, "Reason": { "type": "string" } } }, "BackupScheduleInfoStatusInfoList": { "type": "object", "properties": { "status": { "type": "array", "items": { "$ref": "#/definitions/BackupScheduleInfoStatusInfo" } } } }, "BackupScheduleInfoStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "Pending", "InProgress", "Aborted", "Failed", "Deleting", "Success", "Captured", "PartialSuccess", "DeletePending" ], "default": "Invalid" }, "BackupScheduleInfoSuspendedBy": { "type": "object", "properties": { "source": { "$ref": "#/definitions/SuspendedBySource" } } }, "BackupScheduleInspectResponse": { "type": "object", "properties": { "backup_schedule": { "$ref": "#/definitions/BackupScheduleObject" } }, "title": "Define BackupScheduleInspectResponse struct" }, "BackupScheduleObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "backup_schedule_info": { "$ref": "#/definitions/BackupScheduleInfo" } } }, "BackupScheduleUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "schedule_policy": { "type": "string", "title": "schedule_policy is deprecated, not to be used" }, "reclaim_policy": { "$ref": "#/definitions/BackupScheduleInfoReclaimPolicyType" }, "backup_location": { "type": "string", "title": "Name of BackupLocation, is deprecated. Not to be used" }, "cluster": { "type": "string", "title": "Name of Cluster" }, "namespaces": { "type": "array", "items": { "type": "string" }, "title": "Namespaces to backup. Only an admin can provide multiple namespaces" }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "pre_exec_rule": { "type": "string", "description": "pre_exec_rule and post_exec_rule are deprecated. Not to be used." }, "post_exec_rule": { "type": "string" }, "suspend": { "type": "boolean", "format": "boolean" }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" }, "title": "List of resources to backup (optional)" }, "csi_snapshot_class_name": { "type": "string", "description": "Snapshot class name to use for backup schedule (optional)\ndeprecated, not to be used." }, "schedule_policy_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "pre_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "post_exec_rule_ref": { "$ref": "#/definitions/ObjectRef" }, "volume_snapshot_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "volume snapshot class mapping for csi based backup \u003cprovisioner(string), volumesnapshotclass(string)\u003e (optional)" }, "skip_vm_auto_exec_rules": { "type": "boolean", "format": "boolean", "title": "Skip auto rules for VirtualMachine Backup Object type" } }, "title": "Define BackupScheduleUpdateRequest struct" }, "BackupScheduleUpdateResponse": { "type": "object", "title": "Define BackupScheduleUpdateResponse struct" }, "BackupShare": { "type": "object", "properties": { "groups": { "type": "array", "items": { "$ref": "#/definitions/BackupShareAccessConfig" }, "description": "Group access to objects which must match the group set in the\nauthorization token.\nCan be set by the owner or the system administrator only.\nPossible values are:\n1. no groups: Means no groups are given access.\n2. `[\"*\"]`: All groups are allowed.\n3. `[\"group1\", \"group2\"]`: Only certain groups are allowed. In this\nexample only\n_group1_ and _group2_ are allowed." }, "collaborators": { "type": "array", "items": { "$ref": "#/definitions/BackupShareAccessConfig" }, "description": "Collaborator access to objects gives access to other user.\nMust be the username (unique id) set in the authorization token.\nThe owner or the administrator can set this value. Possible values\nare:\n1. no collaborators: Means no users are given access.\n2. `[\"*\"]`: All users are allowed.\n3. `[\"username1\", \"username2\"]`: Only certain usernames are allowed.\nIn this example only\n_username1_ and _username2_ are allowed." } }, "title": "BackupShare for storing user and group details for whom the backups\nwill be shared" }, "BackupShareAccessConfig": { "type": "object", "properties": { "id": { "type": "string" }, "access": { "$ref": "#/definitions/BackupShareAccessType" } } }, "BackupShareAccessType": { "type": "string", "enum": [ "Invalid", "View", "Restorable", "FullAccess" ], "default": "Invalid", "title": "- View: view access means the backup is shared for view only\nIt can not be used for restore\n - Restorable: Restorable access means the backup is shared for view and it can be\nrestore as well\n - FullAccess: The FullAccess means the backup is shared for view/restore and other\nadmin operations like update and delete" }, "BackupShareUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string", "title": "Backup to be updated" }, "backupshare": { "$ref": "#/definitions/BackupShare" }, "uid": { "type": "string" } }, "title": "Request message for backup share update request" }, "BackupShareUpdateResponse": { "type": "object", "title": "Response message for backup share update request" }, "BackupUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "cloud_credential": { "type": "string", "description": "Reference to cloud credential object used for backup\ncloud_credential is deprecated, not to be used." }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" } }, "title": "Define BackupUpdateRequest struct" }, "BackupUpdateResponse": { "type": "object", "title": "Define BackupUpdateResponse struct" }, "CloudCredentialCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "cloud_credential": { "$ref": "#/definitions/CloudCredentialInfo" } }, "title": "Define CloudCredentialCreateRequest struct" }, "CloudCredentialCreateResponse": { "type": "object", "properties": { "cloud_credential": { "$ref": "#/definitions/CloudCredentialObject" } }, "title": "Define CloudCredentialCreateResponse struct" }, "CloudCredentialDeleteResponse": { "type": "object", "title": "Define CloudCredentialInspectResponse struct" }, "CloudCredentialEnumerateResponse": { "type": "object", "properties": { "cloud_credentials": { "type": "array", "items": { "$ref": "#/definitions/CloudCredentialObject" } } }, "title": "Define CloudCredentialEnumerateResponse struct" }, "CloudCredentialInfo": { "type": "object", "properties": { "type": { "$ref": "#/definitions/CloudCredentialInfoType" }, "aws_config": { "$ref": "#/definitions/AWSConfig" }, "azure_config": { "$ref": "#/definitions/AzureConfig" }, "google_config": { "$ref": "#/definitions/GoogleConfig" }, "ibm_config": { "$ref": "#/definitions/IBMConfig" }, "rancher_config": { "$ref": "#/definitions/RancherConfig" } } }, "CloudCredentialInfoType": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google", "IBM", "Rancher" ], "default": "Invalid" }, "CloudCredentialInspectResponse": { "type": "object", "properties": { "cloud_credential": { "$ref": "#/definitions/CloudCredentialObject" } }, "title": "Define CloudCredentialInspectResponse struct" }, "CloudCredentialObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "cloud_credential_info": { "$ref": "#/definitions/CloudCredentialInfo" } } }, "CloudCredentialOwnershipUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string", "description": "Cloud credential name to be updated." }, "ownership": { "$ref": "#/definitions/Ownership" }, "uid": { "type": "string" } } }, "CloudCredentialOwnershipUpdateResponse": { "type": "object" }, "CloudCredentialUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "cloud_credential": { "$ref": "#/definitions/CloudCredentialInfo" } }, "title": "Define CloudCredentialUpdateRequest struct" }, "CloudCredentialUpdateResponse": { "type": "object", "title": "Define CloudCredentialUpdateResponse struct" }, "ClusterBackupShareUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string" }, "add_backup_share": { "$ref": "#/definitions/BackupShare" }, "del_backup_share": { "$ref": "#/definitions/BackupShare" }, "uid": { "type": "string" } } }, "ClusterBackupShareUpdateResponse": { "type": "object" }, "ClusterCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "px_config": { "$ref": "#/definitions/PXConfig" }, "kubeconfig": { "type": "string" }, "cloud_credential": { "type": "string", "description": "cloud_credential is deprecated, not to be used." }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "platform_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "teleport_cluster_id": { "type": "string", "title": "Teleport cluster ID" }, "tenant_id": { "type": "string", "title": "Tenant ID of the user account (aka PDS account)" }, "service_token": { "type": "string", "title": "PDS account service token to fetch rest.Config for\nteleport based cluster" }, "provider": { "$ref": "#/definitions/ClusterCreateRequestProvider", "title": "This is optional field and used by BaaS only" } }, "title": "Define ClusterCreateRequest struct" }, "ClusterCreateRequestProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google", "IBM", "Rancher" ], "default": "Invalid", "title": "Cloud provider type" }, "ClusterCreateResponse": { "type": "object", "properties": { "cluster": { "$ref": "#/definitions/ClusterObject" } }, "title": "Define ClusterCreateResponse struct" }, "ClusterDeleteResponse": { "type": "object", "title": "Define ClusterInspectResponse struct" }, "ClusterEnumerateResponse": { "type": "object", "properties": { "clusters": { "type": "array", "items": { "$ref": "#/definitions/ClusterObject" } } }, "title": "Define ClusterEnumerateResponse struct" }, "ClusterInfo": { "type": "object", "properties": { "px_config": { "$ref": "#/definitions/PXConfig" }, "kubeconfig": { "type": "string" }, "cloud_credential": { "type": "string", "description": "cloud_credential is deprecated, not to be used." }, "status": { "$ref": "#/definitions/ClusterInfoStatusInfo" }, "delete_backups": { "type": "boolean", "format": "boolean", "title": "delete_backups indicates whether backups created by cluster owner that belong to the cluster need to\nbe deleted or retained. This flag can be set by cluster owner with any role during cluster deletion" }, "delete_restores": { "type": "boolean", "format": "boolean", "description": "delete_restores will determine whether the restore\nbelong to given cluster needs to be deleted or not." }, "stork_version": { "type": "string" }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "add_backup_share": { "$ref": "#/definitions/BackupShare" }, "del_backup_share": { "$ref": "#/definitions/BackupShare" }, "backup_share_status_info": { "$ref": "#/definitions/ClusterInfoBackupShareStatusInfo" }, "owner_group_list": { "type": "array", "items": { "type": "string" } }, "platform_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "teleport_cluster_id": { "type": "string", "title": "Teleport cluster ID" }, "tenant_id": { "type": "string", "title": "Tenant ID" }, "service_token": { "type": "string" }, "provider": { "$ref": "#/definitions/ClusterInfoProvider" }, "k8s_version": { "type": "string" }, "add_user_backup_share": { "type": "object", "additionalProperties": { "$ref": "#/definitions/BackupShare" }, "title": "map[user]BackupShare details for shared user of the cluster\ncontains cluster level backup shared by non owner of the cluster" }, "del_user_backup_share": { "type": "object", "additionalProperties": { "$ref": "#/definitions/BackupShare" }, "title": "contains map[user]BackupShare details to be deleted for cluster level backups of\nnon owner of the cluster" }, "deleted_by": { "type": "string", "title": "deleted_by uid of the user who initiated cluster delete" }, "delete_all_cluster_backups": { "type": "boolean", "format": "boolean", "title": "delete_all_cluster_backups indicates whether all the backups(created by cluster owner, super admins and all the shared users)\non the cluster need to be deleted or retained. This flag can be set only by SuperAdmin while deleting the cluster" } } }, "ClusterInfoBackupShareStatusInfo": { "type": "object", "properties": { "status": { "$ref": "#/definitions/ClusterInfoBackupShareStatusInfoStatus" }, "reason": { "type": "string" } }, "description": "Message for maintaining status of the backup share." }, "ClusterInfoBackupShareStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "InProgress", "Failed", "Success", "PartialSuccess" ], "default": "Invalid", "description": " - InProgress: InProgress if backupshare is going on for backups belonging to\nthe cluster\n - Failed: Failed if backupshare fails for some backups belonging to the\ncluster\n - Success: Success if backupshare is successful for all current backups\nbelonging to the cluster\n - PartialSuccess: Parital Success if backupshare is successful for only few\nbackups." }, "ClusterInfoProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google", "IBM", "Rancher" ], "default": "Invalid", "title": "Cloud provider type" }, "ClusterInfoStatusInfo": { "type": "object", "properties": { "status": { "$ref": "#/definitions/ClusterInfoStatusInfoStatus" }, "reason": { "type": "string" } }, "description": "Message for maintaining status of the cluster." }, "ClusterInfoStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "Online", "Offline", "DeletePending", "Pending", "Failed", "Success" ], "default": "Invalid", "title": "- Pending: Pending If a cluster addition is in pending state\n - Failed: Failed If a cluster failed to be added\n - Success: Success If cluster was successfully added but not Online yet" }, "ClusterInspectResponse": { "type": "object", "properties": { "cluster": { "$ref": "#/definitions/ClusterObject" } }, "title": "Define ClusterInspectResponse struct" }, "ClusterObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "clusterInfo": { "$ref": "#/definitions/ClusterInfo" } } }, "ClusterUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "px_config": { "$ref": "#/definitions/PXConfig" }, "kubeconfig": { "type": "string" }, "cloud_credential": { "type": "string", "description": "cloud_credential is deprecated, not to be used." }, "cloud_credential_ref": { "$ref": "#/definitions/ObjectRef" }, "platform_credential_ref": { "$ref": "#/definitions/ObjectRef" } }, "title": "Define ClusterUpdateRequest struct" }, "ClusterUpdateResponse": { "type": "object", "title": "Define ClusterUpdateResponse struct" }, "CreateMetadata": { "type": "object", "properties": { "name": { "type": "string", "title": "name of the object" }, "org_id": { "type": "string", "title": "org id of the object" }, "owner": { "type": "string", "title": "owner of the object. This field is deprecated, not to be used" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "title": "labels associated with the object" }, "ownership": { "$ref": "#/definitions/Ownership", "title": "ownership of the object" }, "uid": { "type": "string", "title": "uid of the object" } } }, "EmailConfig": { "type": "object", "properties": { "from": { "type": "string", "title": "Sender email address" }, "host": { "type": "string", "title": "Host IP Address" }, "port": { "type": "string", "title": "Host port default value is 25" }, "encryption_ssl": { "type": "boolean", "format": "boolean", "title": "Encryption if any (optional) default value is false" }, "encryption_starttls": { "type": "boolean", "format": "boolean" }, "authentication": { "type": "boolean", "format": "boolean", "title": "Authentication if any (optional) default values is false" }, "auth_username": { "type": "string" }, "auth_password": { "type": "string" } } }, "EnumerateOptions": { "type": "object", "properties": { "labels": { "type": "object", "additionalProperties": { "type": "string" }, "title": "label selectors for the object for filtering" }, "max_objects": { "type": "string", "format": "uint64", "title": "max objects to fetch" }, "time_range": { "$ref": "#/definitions/TimeRange", "title": "Time range for which to return objects" }, "name_filter": { "type": "string", "title": "Filter to use for name of objects. Any object that contains the filter\nwill be returned" }, "cluster_name_filter": { "type": "string", "title": "Filter to use for cluster name of objects. Any object that contains the\nfilter will be returned" }, "object_index": { "type": "string", "format": "uint64" }, "include_detailed_resources": { "type": "boolean", "format": "boolean", "description": "Ths option will be set to true by the caller, when they want to have\ncomplete backup object. That means the backupObject's\nresource list will be set to complete list of resources.\nIf this option is set to false, resource list will be\nset to nil and rest of the backupObject details will be returned in the\nresponse." }, "cluster_uid_filter": { "type": "string", "description": "Filter to use with cluster uid on objects. Any object that contains the\nfilter will be returned\nCurrently backup enumerate request should pass this along with cluster\nname." }, "owners": { "type": "array", "items": { "type": "string" }, "title": "Filter to use owner uids on objects. Any object that contains the\nfilter will be returned" }, "backup_object_type": { "type": "string", "title": "filter to use backupObjectType on object" }, "status": { "type": "array", "items": { "type": "string" }, "title": "filter based on the object status.\nNeed to pass the string value of the status field of the object ( backup /restore )\nFor example, {\"Success\", \"Failed\"}" } } }, "GoogleConfig": { "type": "object", "properties": { "project_id": { "type": "string" }, "json_key": { "type": "string" } } }, "HealthStatusResponse": { "type": "object" }, "IBMConfig": { "type": "object", "properties": { "api_key": { "type": "string" } } }, "LicenseActivateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "activation_id": { "type": "string" }, "license_data": { "type": "string", "format": "byte" }, "usage_based_id": { "type": "string" }, "usaged_based_airgapped_id": { "type": "string" } } }, "LicenseActivateResponse": { "type": "object" }, "LicenseInspectResponse": { "type": "object", "properties": { "license_resp_info": { "$ref": "#/definitions/LicenseResponseInfo" } } }, "LicenseResponseInfo": { "type": "object", "properties": { "feature_info": { "type": "array", "items": { "$ref": "#/definitions/LicenseResponseInfoFeatureInfo" } }, "status": { "$ref": "#/definitions/LicenseResponseInfoStatus" } } }, "LicenseResponseInfoEntitlementInfo": { "type": "object", "properties": { "count": { "type": "string", "format": "int64", "title": "Entitled count" }, "expires": { "type": "string", "format": "date-time", "title": "Expiry time of license" }, "starts": { "type": "string", "format": "date-time", "title": "Start time of license" }, "type": { "$ref": "#/definitions/LicenseType", "title": "License type defined in common.proto" } } }, "LicenseResponseInfoFeatureInfo": { "type": "object", "properties": { "name": { "type": "string", "title": "Feature name" }, "consumed": { "type": "string", "format": "int64", "title": "Consumed count" }, "entitlement_info": { "type": "array", "items": { "$ref": "#/definitions/LicenseResponseInfoEntitlementInfo" }, "title": "License entitlement info" } } }, "LicenseResponseInfoStatus": { "type": "object", "properties": { "status": { "type": "string", "title": "Representing if license is active or expired" }, "reason": { "type": "string", "title": "Reason for above status" } } }, "LicenseType": { "type": "string", "enum": [ "Invalid", "Trial", "Enterprise", "UsageBased", "IBM", "AWS", "GCP", "BaasStd", "UsageBasedAirGapped", "BaaSFreemium", "AWSSaaS" ], "default": "Invalid", "title": "- BaasStd: In future we might have different baas licensing" }, "LicenseUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "usage_based_id": { "type": "string" } } }, "LicenseUpdateResponse": { "type": "object" }, "LicenseUsageAirgappedObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "node_count": { "type": "string", "format": "int64" }, "report_time": { "type": "string", "format": "int64", "title": "Time at which license consumption is recorded in epoch time format" } } }, "LicenseUsageAirgappedResponse": { "type": "object", "properties": { "licenseUsageAirgapped": { "type": "array", "items": { "$ref": "#/definitions/LicenseUsageAirgappedObject" } }, "complete": { "type": "boolean", "format": "boolean" }, "total_count": { "type": "string", "format": "uint64" }, "account_id": { "type": "string" }, "subscription_id": { "type": "string" } } }, "ManagedClusterBulkAddRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "cloud_credential": { "$ref": "#/definitions/ObjectRef" }, "cluster_name": { "type": "array", "items": { "type": "string" }, "title": "Region for scanning cluster\ncluster name to be added" }, "provider": { "$ref": "#/definitions/ManagedClusterBulkAddRequestProvider" }, "aws_config": { "$ref": "#/definitions/ManagedClusterBulkAddRequestAWSConfig" }, "google_config": { "$ref": "#/definitions/ManagedClusterBulkAddRequestGoogleConfig" }, "azure_config": { "$ref": "#/definitions/ManagedClusterBulkAddRequestAzureConfig" } } }, "ManagedClusterBulkAddRequestAWSConfig": { "type": "object", "properties": { "region": { "type": "string", "title": "Region for scanning clusters" } } }, "ManagedClusterBulkAddRequestAzureConfig": { "type": "object" }, "ManagedClusterBulkAddRequestGoogleConfig": { "type": "object" }, "ManagedClusterBulkAddRequestProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google" ], "default": "Invalid", "title": "Cloud provider type" }, "ManagedClusterBulkAddResponse": { "type": "object" }, "ManagedClusterEnumerateRequestAWSConfig": { "type": "object", "properties": { "region": { "type": "string", "title": "Region for scanning clusters" }, "next_token": { "type": "string", "title": "Used for sending token, needed for pagination" } } }, "ManagedClusterEnumerateRequestAzureConfig": { "type": "object" }, "ManagedClusterEnumerateRequestGoogleConfig": { "type": "object" }, "ManagedClusterEnumerateRequestProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google" ], "default": "Invalid", "title": "Cloud provider type" }, "ManagedClusterEnumerateResponse": { "type": "object", "properties": { "cluster": { "type": "array", "items": { "$ref": "#/definitions/ManagedClusterObject" } }, "provider": { "$ref": "#/definitions/ManagedClusterEnumerateResponseProvider" }, "aws_config": { "$ref": "#/definitions/ManagedClusterEnumerateResponseAWSConfig" }, "google_config": { "$ref": "#/definitions/ManagedClusterEnumerateResponseGoogleConfig" }, "azure_config": { "$ref": "#/definitions/ManagedClusterEnumerateResponseAzureConfig" } }, "title": "Define ClusterEnumerateResponse struct" }, "ManagedClusterEnumerateResponseAWSConfig": { "type": "object", "properties": { "next_token": { "type": "string", "title": "For ListClusters() AWS provides pagination and next_token\nis pointer for next set of cluster fetch" } } }, "ManagedClusterEnumerateResponseAzureConfig": { "type": "object" }, "ManagedClusterEnumerateResponseGoogleConfig": { "type": "object" }, "ManagedClusterEnumerateResponseProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google" ], "default": "Invalid", "title": "Cloud provider type" }, "ManagedClusterInspectRequestAWSConfig": { "type": "object", "properties": { "region": { "type": "string", "title": "Region for scanning clusters" } } }, "ManagedClusterInspectRequestAzureConfig": { "type": "object" }, "ManagedClusterInspectRequestGoogleConfig": { "type": "object" }, "ManagedClusterInspectRequestProvider": { "type": "string", "enum": [ "Invalid", "AWS", "Azure", "Google" ], "default": "Invalid", "title": "Cloud provider type" }, "ManagedClusterInspectResponse": { "type": "object", "properties": { "cluster": { "$ref": "#/definitions/ManagedClusterObject" } }, "title": "Define ClusterInspectResponse struct" }, "ManagedClusterObject": { "type": "object", "properties": { "name": { "type": "string", "title": "Name of the managed cluster\nThis is usually the user friendly name of the cluster" }, "uid": { "type": "string", "title": "UID of the managed cluster\nThis is the UID returned by the managed cluster provider" }, "cloud_credential": { "$ref": "#/definitions/ObjectRef", "title": "Cloud Credential name used for fetching this cluster's details" }, "kubeconfig": { "type": "string", "title": "Kubeconfig if the provider supports using kubeconfigs" }, "k8s_version": { "type": "string", "title": "k8s version" }, "status": { "$ref": "#/definitions/ManagedClusterObjectStatus" } }, "title": "Define ManagedClusterObject struct" }, "ManagedClusterObjectStatus": { "type": "string", "enum": [ "Invalid", "NotAdded", "Added" ], "default": "Invalid", "title": "Status hold if the cluster is already present in datastore or not" }, "Metadata": { "type": "object", "properties": { "name": { "type": "string", "title": "name of the object" }, "uid": { "type": "string", "title": "uid for the object" }, "owner": { "type": "string", "description": "owner of the object. This field is deprecated, not to be used\nTODO: Currently gRPC supports marking field as [deprecated=true]\nAs we need to access this field as part of migration to new Ownership\nmessage will not use the same for now." }, "org_id": { "type": "string", "title": "organization uid" }, "create_time": { "type": "string", "format": "date-time" }, "last_update_time": { "type": "string", "format": "date-time" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "title": "label selectors for the object for filtering" }, "create_time_in_sec": { "type": "string", "format": "int64", "title": "create time in sec" }, "ownership": { "$ref": "#/definitions/Ownership", "title": "ownership of the object" } } }, "MetricsCreateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "metrics_info": { "$ref": "#/definitions/MetricsInfo" } } }, "MetricsCreateResponse": { "type": "object" }, "MetricsInfo": { "type": "object", "properties": { "type": { "$ref": "#/definitions/MetricsInfoType" }, "backup": { "$ref": "#/definitions/BackupObject" } } }, "MetricsInfoType": { "type": "string", "enum": [ "Invalid", "BackupStatus", "BackupResourceCount", "BackupLocationStatus", "ClusterStatus", "RestoreStatus" ], "default": "Invalid", "description": "Check with charts/px-central/templates/px-backup/pxcentral-prometheus.yaml before \nadding Type here, few metrics are ignored." }, "MetricsInspectResponse": { "type": "object", "properties": { "stats": { "type": "array", "items": { "$ref": "#/definitions/MetricsInspectResponseStats" } }, "last_sync_time": { "type": "string", "format": "int64", "title": "Time at which last stats data was synced in epoch time format" } } }, "MetricsInspectResponseStats": { "type": "object", "properties": { "cluster": { "type": "string" }, "num_namespaces": { "type": "string", "format": "uint64" }, "total_backup_size": { "type": "string", "format": "uint64" }, "num_schedules": { "type": "string", "format": "uint64" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "total_namespaces": { "type": "string", "format": "uint64" } } }, "NFSConfig": { "type": "object", "properties": { "server_addr": { "type": "string" }, "sub_path": { "type": "string" }, "mount_option": { "type": "string" } } }, "ObjectRef": { "type": "object", "properties": { "name": { "type": "string" }, "uid": { "type": "string" } } }, "OrganizationCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" } }, "title": "Define OrganizationCreateRequest struct" }, "OrganizationCreateResponse": { "type": "object", "title": "Define OrganizationCreateResponse struct" }, "OrganizationDeleteResponse": { "type": "object", "title": "Define OrganizationDeleteResponse struct" }, "OrganizationEnumerateResponse": { "type": "object", "properties": { "organizations": { "type": "array", "items": { "$ref": "#/definitions/OrganizationObject" } } }, "title": "Define OrganizationEnumerateResponse struct" }, "OrganizationInspectResponse": { "type": "object", "properties": { "organization": { "$ref": "#/definitions/OrganizationObject" } }, "title": "Define OrganizationInspectResponse struct" }, "OrganizationObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" } } }, "Ownership": { "type": "object", "properties": { "owner": { "type": "string", "description": "Username of owner\nThe storage system uses the username taken from the token\nand is saved on this field. Only users with system administration\ncan edit this value." }, "groups": { "type": "array", "items": { "$ref": "#/definitions/OwnershipAccessConfig" }, "description": "Group access to objects which must match the group set in the\nauthorization token.\nCan be set by the owner or the system administrator only.\nPossible values are:\n1. no groups: Means no groups are given access.\n2. `[\"*\"]`: All groups are allowed.\n3. `[\"group1\", \"group2\"]`: Only certain groups are allowed. In this\nexample only\n_group1_ and _group2_ are allowed." }, "collaborators": { "type": "array", "items": { "$ref": "#/definitions/OwnershipAccessConfig" }, "description": "Collaborator access to objects gives access to other user.\nMust be the username (unique id) set in the authorization token.\nThe owner or the administrator can set this value. Possible values\nare:\n1. no collaborators: Means no users are given access.\n2. `[\"*\"]`: All users are allowed.\n3. `[\"username1\", \"username2\"]`: Only certain usernames are allowed.\nIn this example only\n_username1_ and _username2_ are allowed." }, "public": { "$ref": "#/definitions/OwnershipPublicAccessControl", "title": "Public access to objects may be assigned for access by the public\nuserd\nTODO: Instead of PublicAccessControl, can we just set '*' in\ncollaborators with required permission?" } }, "description": "Ownership information for objects(eg: backup object, schedule object).\nAdministrators are users who belong to the group `*`, meaning, every group." }, "OwnershipAccessConfig": { "type": "object", "properties": { "id": { "type": "string" }, "access": { "$ref": "#/definitions/OwnershipAccessType" } } }, "OwnershipAccessType": { "type": "string", "enum": [ "Invalid", "Read", "Write", "Admin" ], "default": "Invalid", "description": " - Read: Read access only and cannot affect the resource.\n - Write: Write access and can affect the resource.\nThis type automatically provides Read access also.\n - Admin: Administrator access.\nThis type automatically provides Read and Write access also." }, "OwnershipPublicAccessControl": { "type": "object", "properties": { "type": { "$ref": "#/definitions/OwnershipAccessType", "title": "AccessType declares which level of public access is allowed" } }, "title": "PublicAccessControl allows assigning public ownership" }, "PXConfig": { "type": "object", "properties": { "access_token": { "type": "string" } } }, "Permission": { "type": "object", "properties": { "full_access": { "type": "boolean", "format": "boolean" } }, "title": "Define Permission struct" }, "RancherConfig": { "type": "object", "properties": { "endpoint": { "type": "string" }, "token": { "type": "string" } } }, "ReceiverCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "receiver_info": { "$ref": "#/definitions/ReceiverInfo" } } }, "ReceiverCreateResponse": { "type": "object", "properties": { "receiver": { "$ref": "#/definitions/ReceiverObject" } } }, "ReceiverDeleteResponse": { "type": "object" }, "ReceiverEnumerateResponse": { "type": "object", "properties": { "receivers": { "type": "array", "items": { "$ref": "#/definitions/ReceiverObject" } } } }, "ReceiverInfo": { "type": "object", "properties": { "type": { "$ref": "#/definitions/ReceiverInfoType" }, "email_config": { "$ref": "#/definitions/EmailConfig" } } }, "ReceiverInfoType": { "type": "string", "enum": [ "INVALID", "EMAIL" ], "default": "INVALID" }, "ReceiverInspectRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string" }, "include_secrets": { "type": "boolean", "format": "boolean" }, "uid": { "type": "string" }, "type": { "type": "string" } } }, "ReceiverInspectResponse": { "type": "object", "properties": { "receiver": { "$ref": "#/definitions/ReceiverObject" } } }, "ReceiverObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "receiver_info": { "$ref": "#/definitions/ReceiverInfo" } } }, "ReceiverUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "receiver_info": { "$ref": "#/definitions/ReceiverInfo" } } }, "ReceiverUpdateResponse": { "type": "object" }, "ReceiverValidateSMTPRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "recipient_id": { "type": "array", "items": { "type": "string" } }, "receiver_info_config": { "$ref": "#/definitions/ReceiverInfo" }, "receiver_inspect_config": { "$ref": "#/definitions/ReceiverInspectRequest" } } }, "ReceiverValidateSMTPResponse": { "type": "object" }, "RecipientCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "recipient_info": { "$ref": "#/definitions/RecipientInfo" } } }, "RecipientCreateResponse": { "type": "object", "properties": { "recipient": { "$ref": "#/definitions/RecipientObject" } } }, "RecipientDeleteResponse": { "type": "object" }, "RecipientEnumerateRequestType": { "type": "string", "enum": [ "INVALID", "EMAIL" ], "default": "INVALID" }, "RecipientEnumerateResponse": { "type": "object", "properties": { "recipients": { "type": "array", "items": { "$ref": "#/definitions/RecipientObject" } }, "enabled": { "type": "boolean", "format": "boolean", "title": "Enabled will be an in memory value always fetched from Recevier Info" } } }, "RecipientInfo": { "type": "object", "properties": { "type": { "$ref": "#/definitions/RecipientInfoType", "title": "Type of notification on user level" }, "recipient_id": { "type": "array", "items": { "type": "string" }, "title": "Based on type recipient list is added" }, "active": { "type": "boolean", "format": "boolean", "title": "current status set by user" }, "receiver_ref": { "$ref": "#/definitions/ObjectRef", "title": "Link receiver object" }, "severity": { "$ref": "#/definitions/RecipientInfoSeverity", "title": "Filter level of alert by severity" } } }, "RecipientInfoSeverity": { "type": "string", "enum": [ "UNKNOWN", "CRITICAL", "WARNING" ], "default": "UNKNOWN" }, "RecipientInfoType": { "type": "string", "enum": [ "INVALID", "EMAIL" ], "default": "INVALID" }, "RecipientInspectResponse": { "type": "object", "properties": { "recipient": { "$ref": "#/definitions/RecipientObject" } } }, "RecipientObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "recipient_info": { "$ref": "#/definitions/RecipientInfo" } } }, "RecipientUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "recipient_info": { "$ref": "#/definitions/RecipientInfo" } } }, "RecipientUpdateResponse": { "type": "object" }, "ReplacePolicyType": { "type": "string", "enum": [ "Invalid", "Retain", "Delete" ], "default": "Invalid" }, "ResourceInfo": { "type": "object", "properties": { "name": { "type": "string" }, "namespace": { "type": "string" }, "group": { "type": "string" }, "kind": { "type": "string" }, "version": { "type": "string" } } }, "RestoreCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "backup": { "type": "string", "description": "backup is deprecated, not to be used." }, "cluster": { "type": "string", "title": "uid or name of cluster" }, "namespace_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "mapping of the namespaces from the backup to which restore should be done" }, "replace_policy": { "$ref": "#/definitions/ReplacePolicyType", "title": "replace policy to use if the resource already exists" }, "include_optional_resource_types": { "type": "array", "items": { "type": "string" }, "title": "optional resource types to be restored (eg Jobs)" }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" }, "title": "List of resources to restore (optional)" }, "storage_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "storage class mapping for generic backup \u003csource, destination\u003e" }, "backup_ref": { "$ref": "#/definitions/ObjectRef", "title": "backup object reference having name and id" }, "rancher_project_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "mapping of the rancher projects from the backup to which restore should\nbe done" }, "rancher_project_name_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "mapping of source rancher project display names to target rancher project display names" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_object_type": { "$ref": "#/definitions/RestoreCreateRequestBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" } }, "title": "Define RestoreCreateRequest struct" }, "RestoreCreateRequestBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/RestoreCreateRequestBackupObjectTypeType" } } }, "RestoreCreateRequestBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "RestoreCreateResponse": { "type": "object", "properties": { "restore": { "$ref": "#/definitions/RestoreObject" } }, "title": "Define RestoreCreateResponse struct" }, "RestoreDeleteResponse": { "type": "object", "title": "Define RestoreDeleteResponse struct" }, "RestoreEnumerateResponse": { "type": "object", "properties": { "restores": { "type": "array", "items": { "$ref": "#/definitions/RestoreObject" } }, "total_count": { "type": "string", "format": "uint64" }, "complete": { "type": "boolean", "format": "boolean" } }, "title": "Define RestoreEnumerateResponse struct" }, "RestoreInfo": { "type": "object", "properties": { "backup": { "type": "string", "description": "backup is deprecated, not to be used." }, "backup_location": { "type": "string", "description": "Name of backup location to restore from.\nbackup_location is deprecated, not to be used." }, "label_selectors": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Label selectors to choose resources" }, "namespace_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "Namespace Mapping" }, "replace_policy": { "$ref": "#/definitions/ReplacePolicyType", "title": "Restore replace policy type (\"delete\"/\"retain\")" }, "status": { "$ref": "#/definitions/RestoreInfoStatusInfo" }, "resources": { "type": "array", "items": { "$ref": "#/definitions/RestoreInfoRestoredResource" } }, "volumes": { "type": "array", "items": { "$ref": "#/definitions/RestoreInfoVolume" } }, "cluster": { "type": "string", "title": "Name of the cluster" }, "include_optional_resource_types": { "type": "array", "items": { "type": "string" } }, "total_size": { "type": "string", "format": "uint64" }, "include_resources": { "type": "array", "items": { "$ref": "#/definitions/ResourceInfo" } }, "resource_count": { "type": "string", "format": "uint64" }, "stork_version": { "type": "string" }, "backup_location_ref": { "$ref": "#/definitions/ObjectRef" }, "storage_class_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "storage class mapping for generic backup \u003csource, destination\u003e" }, "backup_ref": { "$ref": "#/definitions/ObjectRef", "title": "backup to restore from" }, "rancher_project_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "mapping of the rancher projects from the backup to which restore should\nbe done" }, "rancher_project_name_mapping": { "type": "object", "additionalProperties": { "type": "string" }, "title": "mapping of source rancher project display names to target rancher project display names" }, "large_resource_enabled": { "type": "boolean", "format": "boolean", "title": "flag signifies if the restored backup involves large number of resources or not" }, "restored_resource_count": { "type": "string", "format": "uint64", "title": "counter to show number of already restored resources" }, "restore_status": { "$ref": "#/definitions/RestoreInfoRestoreResourceState", "title": "current activity while doing resource restore" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "backup_object_type": { "$ref": "#/definitions/RestoreInfoBackupObjectType", "title": "backup object type is all namespace or virtualMachine specific backup" } }, "title": "Message for restore info" }, "RestoreInfoBackupObjectType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/RestoreInfoBackupObjectTypeType" } } }, "RestoreInfoBackupObjectTypeType": { "type": "string", "enum": [ "Invalid", "All", "VirtualMachine" ], "default": "Invalid" }, "RestoreInfoRestoreResourceState": { "type": "object", "properties": { "restore_status": { "$ref": "#/definitions/RestoreResourceStateResourceStatus" } } }, "RestoreInfoRestoredResource": { "type": "object", "properties": { "name": { "type": "string" }, "namespace": { "type": "string" }, "group": { "type": "string" }, "kind": { "type": "string" }, "version": { "type": "string" }, "status": { "$ref": "#/definitions/RestoreInfoStatusInfo" } } }, "RestoreInfoStatusInfo": { "type": "object", "properties": { "status": { "$ref": "#/definitions/RestoreInfoStatusInfoStatus" }, "reason": { "type": "string" } }, "description": "Message for maintaining status of the object." }, "RestoreInfoStatusInfoStatus": { "type": "string", "enum": [ "Invalid", "Pending", "InProgress", "Aborted", "Failed", "Deleting", "Success", "Retained", "PartialSuccess" ], "default": "Invalid" }, "RestoreInfoVolume": { "type": "object", "properties": { "pvc": { "type": "string" }, "source_namespace": { "type": "string" }, "source_volume": { "type": "string" }, "restore_volume": { "type": "string" }, "status": { "$ref": "#/definitions/RestoreInfoStatusInfo" }, "driver_name": { "type": "string" }, "zones": { "type": "array", "items": { "type": "string" } }, "options": { "type": "object", "additionalProperties": { "type": "string" } }, "total_size": { "type": "string", "format": "uint64" } } }, "RestoreInspectResponse": { "type": "object", "properties": { "restore": { "$ref": "#/definitions/RestoreObject" } }, "title": "Define RestoreInspectResponse struct" }, "RestoreObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "restore_info": { "$ref": "#/definitions/RestoreInfo" } }, "description": "Message for Restore object which will be stored in Datastore." }, "RestoreResourceStateResourceStatus": { "type": "string", "enum": [ "Preparing", "Deleting", "Verifying", "Applying" ], "default": "Preparing" }, "RestoreUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" } }, "title": "Define RestoreUpdateRequest struct" }, "RestoreUpdateResponse": { "type": "object", "title": "Define RestoreUpdateResponse struct" }, "RoleConfig": { "type": "object", "properties": { "services": { "type": "array", "items": { "type": "string" }, "title": "The gRPC service name" }, "apis": { "type": "array", "items": { "type": "string" }, "title": "The API name in the service in lowercase" } }, "title": "RoleConfig object for set of rules associated with each role object\nservices - PX-Backup services names\napis - allowed apis for px-backup services" }, "RoleCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "rules": { "type": "array", "items": { "$ref": "#/definitions/RoleConfig" } }, "role_id": { "type": "string", "title": "Keyclock UID associated with role" } }, "title": "RoleCreateRequest defines roleobject create structure\nMetadata with each role object\nRoleConfig set of rules over api services for given role object" }, "RoleCreateResponse": { "type": "object", "properties": { "role": { "$ref": "#/definitions/RoleObject" } } }, "RoleDeleteResponse": { "type": "object", "title": "Define RoleDeleteResponse struct" }, "RoleEnumerateResponse": { "type": "object", "properties": { "roles": { "type": "array", "items": { "$ref": "#/definitions/RoleObject" } } }, "title": "Define RoleEnumerateResponse struct" }, "RoleInspectResponse": { "type": "object", "properties": { "role": { "$ref": "#/definitions/RoleObject" } }, "title": "Define RoleInspectResponse struct" }, "RoleObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata", "title": "Metadata of the object" }, "rules": { "type": "array", "items": { "$ref": "#/definitions/RoleConfig" }, "title": "RoleConfig associated with role object" }, "role_id": { "type": "string", "title": "Keyclock UID associated with role" } }, "description": "Defines a RoleObject object." }, "RolePermissionResponse": { "type": "object", "properties": { "rules": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Permission" } } }, "title": "Define RolePermissionResponse struct" }, "RoleUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "rules": { "type": "array", "items": { "$ref": "#/definitions/RoleConfig" } }, "role_id": { "type": "string", "title": "Keyclock UID associated with role" } }, "title": "RoleUpdateRequest defines roleobject update structure" }, "RoleUpdateResponse": { "type": "object", "title": "Define RoleUpdateResponse struct" }, "RuleCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "rules_info": { "$ref": "#/definitions/RulesInfo" } }, "title": "Request message for creating rules" }, "RuleCreateResponse": { "type": "object", "properties": { "rule": { "$ref": "#/definitions/RuleObject" } } }, "RuleDeleteResponse": { "type": "object", "title": "Define RuleDeleteResponse struct" }, "RuleEnumerateResponse": { "type": "object", "properties": { "rules": { "type": "array", "items": { "$ref": "#/definitions/RuleObject" } } }, "title": "Define RuleEnumerateResponse struct" }, "RuleInspectResponse": { "type": "object", "properties": { "rule": { "$ref": "#/definitions/RuleObject" } }, "title": "Define RuleInspectResponse struct" }, "RuleObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "rules_info": { "$ref": "#/definitions/RulesInfo" } } }, "RuleOwnershipUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string", "title": "Rule to be updated" }, "ownership": { "$ref": "#/definitions/Ownership" }, "uid": { "type": "string" } }, "title": "Define RuleOwnershipUpdateRequest struct" }, "RuleOwnershipUpdateResponse": { "type": "object", "title": "Define RuleOwnershipUpdateResponse struct" }, "RuleUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "rules_info": { "$ref": "#/definitions/RulesInfo" } } }, "RuleUpdateResponse": { "type": "object", "title": "Define RuleUpdateResponse struct" }, "RulesInfo": { "type": "object", "properties": { "rules": { "type": "array", "items": { "$ref": "#/definitions/RulesInfoRuleItem" } } }, "title": "Message for passing pre and post exec rules for backup" }, "RulesInfoAction": { "type": "object", "properties": { "background": { "type": "boolean", "format": "boolean" }, "run_in_single_pod": { "type": "boolean", "format": "boolean" }, "value": { "type": "string" } } }, "RulesInfoRuleItem": { "type": "object", "properties": { "pod_selector": { "type": "object", "additionalProperties": { "type": "string" } }, "actions": { "type": "array", "items": { "$ref": "#/definitions/RulesInfoAction" } }, "container": { "type": "string" } } }, "S3Config": { "type": "object", "properties": { "endpoint": { "type": "string" }, "region": { "type": "string" }, "disable_ssl": { "type": "boolean", "format": "boolean" }, "disable_path_style": { "type": "boolean", "format": "boolean" }, "storage_class": { "type": "string" }, "sse_type": { "$ref": "#/definitions/S3ConfigSse", "description": "Server side encryption type name\nCurrently supporting only SSE-S3 and SSE-KMS type alone." }, "azure_environment": { "$ref": "#/definitions/S3ConfigAzureEnvironmentType", "title": "Azure environment type\nCurrently supporting only AZURE_GLOBAL and AZURE_CHINA" }, "azure_resource_group_name": { "type": "string", "title": "Azure resource group name. This is needed in the case of azure immutable bucket to get the retention period (optional)" } } }, "S3ConfigAzureEnvironmentType": { "type": "object", "properties": { "type": { "$ref": "#/definitions/S3ConfigAzureEnvironmentTypeType" } } }, "S3ConfigAzureEnvironmentTypeType": { "type": "string", "enum": [ "Invalid", "AZURE_GLOBAL", "AZURE_CHINA" ], "default": "Invalid", "title": "- AZURE_GLOBAL: Azure public environment\n - AZURE_CHINA: Azure china environment" }, "S3ConfigSse": { "type": "string", "enum": [ "Invalid", "SSE_S3", "SSE_KMS" ], "default": "Invalid", "title": "- SSE_S3: Server-side encryption with AWS S3 managed keys\n - SSE_KMS: Server-side encryption with AWS Key Management Service" }, "SchedulePolicyCreateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "schedule_policy": { "$ref": "#/definitions/SchedulePolicyInfo" } }, "title": "Define SchedulePolicyCreateRequest struct" }, "SchedulePolicyCreateResponse": { "type": "object", "properties": { "schedule_policy": { "$ref": "#/definitions/SchedulePolicyObject" } }, "title": "Define SchedulePolicyCreateResponse struct" }, "SchedulePolicyDeleteResponse": { "type": "object", "title": "Define SchedulePolicyDeleteResponse struct" }, "SchedulePolicyEnumerateResponse": { "type": "object", "properties": { "schedule_policies": { "type": "array", "items": { "$ref": "#/definitions/SchedulePolicyObject" } } } }, "SchedulePolicyInfo": { "type": "object", "properties": { "interval": { "$ref": "#/definitions/SchedulePolicyInfoIntervalPolicy" }, "daily": { "$ref": "#/definitions/SchedulePolicyInfoDailyPolicy" }, "weekly": { "$ref": "#/definitions/SchedulePolicyInfoWeeklyPolicy" }, "monthly": { "$ref": "#/definitions/SchedulePolicyInfoMonthlyPolicy" }, "backup_schedule": { "type": "array", "items": { "type": "string" }, "description": "list of backup schedule object that uses this schedule policy." }, "for_object_lock": { "type": "boolean", "format": "boolean", "description": "for_object_lock should be set, if this policy is planned to be used with\nlocked bucket while taking backup." }, "auto_delete": { "type": "boolean", "format": "boolean", "title": "auto-delete - this option is to indicate, whether the backup\nshould be deleted after the retention of the backup object is expired" } } }, "SchedulePolicyInfoDailyPolicy": { "type": "object", "properties": { "time": { "type": "string", "description": "Time, when the policy should be triggered. Expected format is\ntime.Kitchen eg 12:04PM or 12:04pm." }, "retain": { "type": "string", "format": "int64", "description": "Number of objects to retain for daily policy, default value is 10." }, "incremental_count": { "$ref": "#/definitions/SchedulePolicyInfoIncrementalCount", "description": "Number of incremental snapshots to take before taking a full\nsnapshot." } } }, "SchedulePolicyInfoIncrementalCount": { "type": "object", "properties": { "count": { "type": "string", "format": "uint64" } } }, "SchedulePolicyInfoIntervalPolicy": { "type": "object", "properties": { "minutes": { "type": "string", "format": "int64", "description": "Interval in minutes at which an action should be triggered." }, "retain": { "type": "string", "format": "int64", "description": "Number of objects to retain for interval policy, default value is 10." }, "incremental_count": { "$ref": "#/definitions/SchedulePolicyInfoIncrementalCount", "description": "Number of incremental snapshots to take before taking a full\nsnapshot." } } }, "SchedulePolicyInfoMonthlyPolicy": { "type": "object", "properties": { "date": { "type": "string", "format": "int64", "description": "Date of the month when the policy should be triggered. If a given\ndate\ndoesn't exist in a month it'll rollover to the next date of the\nmonth.\nFor example if 31 is specified, it'll trigger on either 1st or 2nd\nMarch\ndepending on if it is a leap year." }, "time": { "type": "string", "description": "Time, when the policy should be triggered. Expected format is\ntime.Kitchen eg 12:04PM or 12:04pm." }, "retain": { "type": "string", "format": "int64", "description": "Number of objects to retain for monthly policy, default value is 10." }, "incremental_count": { "$ref": "#/definitions/SchedulePolicyInfoIncrementalCount", "description": "Number of incremental snapshots to take before taking a full\nsnapshot." } } }, "SchedulePolicyInfoWeeklyPolicy": { "type": "object", "properties": { "day": { "type": "string", "title": "Day of the week when the policy should be triggered.\nFor example, sunday or sun" }, "time": { "type": "string", "description": "Time, when the policy should be triggered. Expected format is\ntime.Kitchen eg 12:04PM or 12:04pm." }, "retain": { "type": "string", "format": "int64", "description": "Number of objects to retain for weekly policy, default value is 10." }, "incremental_count": { "$ref": "#/definitions/SchedulePolicyInfoIncrementalCount", "description": "Number of incremental snapshots to take before taking a full\nsnapshot." } } }, "SchedulePolicyInspectResponse": { "type": "object", "properties": { "schedule_policy": { "$ref": "#/definitions/SchedulePolicyObject" } }, "title": "Define SchedulePolicyInspectResponse struct" }, "SchedulePolicyObject": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/Metadata" }, "schedule_policy_info": { "$ref": "#/definitions/SchedulePolicyInfo" } } }, "SchedulePolicyOwnershipUpdateRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "name": { "type": "string" }, "ownership": { "$ref": "#/definitions/Ownership" }, "uid": { "type": "string" } } }, "SchedulePolicyOwnershipUpdateResponse": { "type": "object" }, "SchedulePolicyUpdateRequest": { "type": "object", "properties": { "metadata": { "$ref": "#/definitions/CreateMetadata" }, "schedule_policy": { "$ref": "#/definitions/SchedulePolicyInfo" } }, "title": "Define SchedulePolicyUpdateRequest struct" }, "SchedulePolicyUpdateResponse": { "type": "object", "title": "Define SchedulePolicyUpdateResponse struct" }, "ShareClusterRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "users": { "type": "array", "items": { "type": "string" }, "title": "userid of the user(s) to share the cluster with" }, "groups": { "type": "array", "items": { "type": "string" }, "title": "group(s) to share the cluster with" }, "share_cluster_backups": { "type": "boolean", "format": "boolean", "title": "share_cluster_backups share is optional, if set to true, it will additionally share existing backups" } } }, "ShareClusterResponse": { "type": "object" }, "SuspendedBySource": { "type": "string", "enum": [ "Invalid", "User", "LicenseCheck" ], "default": "Invalid" }, "TimeRange": { "type": "object", "properties": { "start_time": { "type": "string", "format": "date-time" }, "end_time": { "type": "string", "format": "date-time" } } }, "UnShareClusterRequest": { "type": "object", "properties": { "org_id": { "type": "string" }, "cluster_ref": { "$ref": "#/definitions/ObjectRef" }, "users": { "type": "array", "items": { "type": "string" }, "title": "userid of the user(s) to share the cluster with" }, "groups": { "type": "array", "items": { "type": "string" }, "title": "group(s) to share the cluster with" } } }, "UnShareClusterResponse": { "type": "object" }, "VersionGetResponse": { "type": "object", "properties": { "version": { "$ref": "#/definitions/VersionInfo", "title": "version information of the server" } } }, "VersionInfo": { "type": "object", "properties": { "major": { "type": "string" }, "minor": { "type": "string" }, "patch": { "type": "string" }, "changes": { "type": "string" }, "git_commit": { "type": "string" }, "build_date": { "type": "string" } } }, "VolumeJobSecurityContext": { "type": "object", "properties": { "runAsUser": { "type": "string", "format": "int64" }, "runAsGroup": { "type": "string", "format": "int64" } } }, "completionTimeInfo": { "type": "object", "properties": { "volumes_completion_time": { "type": "string", "format": "date-time", "title": "This will store timestamp for the completion of volumes" }, "resources_completion_time": { "type": "string", "format": "date-time", "title": "This will store timestamp for the completion of resources" }, "total_completion_time": { "type": "string", "format": "date-time", "title": "This will store the total completion time of the entire backup/restore" } } } }, "securityDefinitions": { "bearer": { "type": "apiKey", "description": "Authentication token, prefixed by Bearer: Bearer \u003ctoken\u003e", "name": "Authorization", "in": "header" } }, "security": [ { "bearer": [] } ] }