components: schemas: CloudMigrateStage: default: InvalidStage enum: - InvalidStage - Backup - Restore - VolumeUpdate - Done type: string FilesystemCheckFilesystemCheckStatus: default: FS_CHECK_UNKNOWN description: "- FS_CHECK_UNKNOWN: Filesystem Check operation is an unknown state\n\ \ - FS_CHECK_NOT_RUNNING: FilesystemCheck operation not running for the specified\ \ volume\n - FS_CHECK_STARTED: FilesystemCheck operation started for the specified\ \ volume\n - FS_CHECK_INPROGRESS: FilesystemCheck operation is in progress\n\ \ - FS_CHECK_STOPPED: FilesystemCheck operation was stopped by the user\n\ \ - FS_CHECK_COMPLETED: FilesystemCheck operation completed successfully\n\ \ - FS_CHECK_FAILED: FilesystemCheck operation failed due to internal error" enum: - FS_CHECK_UNKNOWN - FS_CHECK_NOT_RUNNING - FS_CHECK_STARTED - FS_CHECK_INPROGRESS - FS_CHECK_STOPPED - FS_CHECK_COMPLETED - FS_CHECK_FAILED title: 'FilesystemCheckStatus represents the status codes returned from OpenStorageFilesystemCheck service APIs()' type: string FilesystemTrimFilesystemTrimStatus: default: FS_TRIM_UNKNOWN description: "- FS_TRIM_UNKNOWN: Filesystem Trim operation is an unknown state\n\ \ - FS_TRIM_NOT_RUNNING: Filesystem Trim operation is not running for the\ \ specified volume\n - FS_TRIM_STARTED: Filesystem Trim operation started\ \ for the specified volume\n - FS_TRIM_INPROGRESS: Filesystem Trim operation\ \ is in progress for the specified volume\n - FS_TRIM_STOPPED: Filesystem\ \ Trim operation was stopped by the user for the specified volume\n - FS_TRIM_COMPLETED:\ \ Filesystem Trim operation completed successfully for the specified volume\n\ \ - FS_TRIM_FAILED: Filesystem Trim operation failed due to internal error\ \ for the specified\nvolume" enum: - FS_TRIM_UNKNOWN - FS_TRIM_NOT_RUNNING - FS_TRIM_STARTED - FS_TRIM_INPROGRESS - FS_TRIM_STOPPED - FS_TRIM_COMPLETED - FS_TRIM_FAILED title: 'FilesystemTrimStatus represents the status codes returned from OpenStorageFilesystemTrim service APIs()' type: string LabelSelectorRequirementOperator: default: In description: "- In: In means the value for 'key' should be in one of the given\ \ value(s)\n - NotIn: NotIn means the value for 'key' should NOT be in one\ \ of the given value(s)\n - Exists: Exists means the 'key' should just exist\ \ regardless of the value\n - DoesNotExist: DoesNotExist means the 'key' should\ \ NOT exist\n - Gt: Gt means the 'key' should be greater than the value(s)\n\ \ - Lt: Lt means the 'key' should be less than the value(s)" enum: - In - NotIn - Exists - DoesNotExist - Gt - Lt title: This defines operator types used in a label matching rule type: string OwnershipAccessControl: properties: collaborators: additionalProperties: $ref: '#/components/schemas/OwnershipAccessType' description: 'Collaborator access to resource gives access to other user. Must be the username (unique id) set in the authorization token. The owner or the administrator can set this value. Possible values are: 1. no collaborators: Means no users are given access. 2. `["*"]`: All users are allowed. 3. `["username1", "username2"]`: Only certain usernames are allowed. In this example only _username1_ and _username2_ are allowed.' type: object groups: additionalProperties: $ref: '#/components/schemas/OwnershipAccessType' description: 'Group access to resource which must match the group set in the authorization token. Can be set by the owner or the system administrator only. Possible values are: 1. no groups: Means no groups are given access. 2. `["*"]`: All groups are allowed. 3. `["group1", "group2"]`: Only certain groups are allowed. In this example only _group1_ and _group2_ are allowed.' type: object public: $ref: '#/components/schemas/OwnershipPublicAccessControl' type: object OwnershipAccessType: default: Read description: "Access types can be set by owner to have different levels of access\ \ to\na resource.\n\nIt is up to the resource to interpret what the types\ \ mean and are\nused for.\n\n - 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.\n\ This type automatically provides Read and Write access also." enum: - Read - Write - Admin type: string OwnershipPublicAccessControl: properties: type: $ref: '#/components/schemas/OwnershipAccessType' title: PublicAccessControl allows assigning public ownership type: object ScanPolicyScanAction: default: SCAN_ACTION_NONE enum: - SCAN_ACTION_NONE - SCAN_ACTION_SCAN_ONLY - SCAN_ACTION_SCAN_REPAIR type: string ScanPolicyScanTrigger: default: SCAN_TRIGGER_NONE enum: - SCAN_TRIGGER_NONE - SCAN_TRIGGER_ON_MOUNT - SCAN_TRIGGER_ON_NEXT_MOUNT type: string SdkCloudMigrateStartRequestMigrateAllVolumes: title: Defines a migration request for all volumes in a cluster type: object SdkCloudMigrateStartRequestMigrateVolume: properties: volume_id: type: string title: Defines a migration request for a volume type: object SdkCloudMigrateStartRequestMigrateVolumeGroup: properties: group_id: type: string title: Defines a migration request for a volume group type: object SdkServiceCapabilityOpenStorageService: properties: type: $ref: '#/components/schemas/SdkServiceCapabilityOpenStorageServiceType' type: object SdkServiceCapabilityOpenStorageServiceType: default: UNKNOWN enum: - UNKNOWN - CLUSTER - CLOUD_BACKUP - CREDENTIALS - NODE - OBJECT_STORAGE - SCHEDULE_POLICY - VOLUME - ALERTS - MOUNT_ATTACH - ROLE - CLUSTER_PAIR - MIGRATE - STORAGE_POLICY title: "- UNKNOWN: Unknown service\n - CLUSTER: Cluster management\n - CLOUD_BACKUP:\ \ Cloud backup of volumes management\n - CREDENTIALS: Credentials management\n\ \ - NODE: Node management\n - OBJECT_STORAGE: Object Storage management\n\ \ - SCHEDULE_POLICY: Schedule policy management\n - VOLUME: Volume management\n\ \ - ALERTS: Alert enumeration\n - MOUNT_ATTACH: Mount/Attach Support\n - ROLE:\ \ Role service\n - CLUSTER_PAIR: Cluster Pair service\n - MIGRATE: Migrate\ \ service\n - STORAGE_POLICY: StoragePolicy Service" type: string SdkStoragePoolOperationStatus: default: OPERATION_PENDING description: "- OPERATION_PENDING: Operation pending\n - OPERATION_IN_PROGRESS:\ \ Operation is in progress\n - OPERATION_SUCCESSFUL: Operation is successful\n\ \ - OPERATION_FAILED: Operation failed" enum: - OPERATION_PENDING - OPERATION_IN_PROGRESS - OPERATION_SUCCESSFUL - OPERATION_FAILED title: OperationStatus captures the various statuses of a storage pool operation type: string SdkStoragePoolResizeOperationType: default: RESIZE_TYPE_AUTO description: "- RESIZE_TYPE_AUTO: Automatically pick the optimum resize operation\ \ type\n - RESIZE_TYPE_ADD_DISK: Add a new drive to resize the pool\n - RESIZE_TYPE_RESIZE_DISK:\ \ Resize existing drives to resize the pool" enum: - RESIZE_TYPE_AUTO - RESIZE_TYPE_ADD_DISK - RESIZE_TYPE_RESIZE_DISK title: Defines the operation types available to resize a storage pool type: string Sharedv4ServiceSpecServiceType: default: UNSPECIFIED description: "Type of sharedv4 service. Values are governed by the different\ \ types\nof services supported by container orchestrators such as Kubernetes.\n\ \n - UNSPECIFIED: Unspecified\n - NODEPORT: Export the sharedv4 service on\ \ each Node's IP.\nIn this mode the sharedv4 volume can be accessed from outside\ \ the\ncluster using one of the node's IPs.\n - CLUSTERIP: Export the shared4\ \ service on an internal cluster IP.\nIn this mode the sharedv4 volume will\ \ only be accessible\nwithin the cluster via this service.\n - LOADBALANCER:\ \ Expose the sharedv4 service on cloud provider's load balancer.\nApplicable\ \ when running in cloud. In this mode the sharedv4 volume\ncan be accessed\ \ from outside the cluster.\n - NONE: Do not use sharedv4 service feature.\ \ Use legacy sharedv4 volumes instead." enum: - UNSPECIFIED - NODEPORT - CLUSTERIP - LOADBALANCER - NONE type: string StorageNodeSecurityStatus: default: UNSPECIFIED description: " - UNSPECIFIED: Security status type is unknown\n - UNSECURED:\ \ Node is unsecure\n - SECURED: Node is secured with authentication and authorization\n\ \ - SECURED_ALLOW_SECURITY_REMOVAL: Node is secured, but in the process of\ \ removing security. This state allows\nother unsecured nodes to join the\ \ cluster since the cluster is in the process\nof removing security authentication\ \ and authorization." enum: - UNSPECIFIED - UNSECURED - SECURED - SECURED_ALLOW_SECURITY_REMOVAL type: string StorageRebalanceAuditStorageRebalanceAction: default: ADD_REPLICA description: "- ADD_REPLICA: Indicates new replica was added\n - REMOVE_REPLICA:\ \ Indicates existing replica was removed" enum: - ADD_REPLICA - REMOVE_REPLICA title: StorageRebalanceAction describes type of rebalance action type: string StorageRebalanceTriggerThresholdMetric: default: PROVISION_SPACE description: "- PROVISION_SPACE: ProvisionSpace indicates rebalance for provisioned\ \ space\n - USED_SPACE: UsedSpace indicates rebalance for used space" enum: - PROVISION_SPACE - USED_SPACE title: Metric is an enum that defines the metric to use for rebalance type: string VerifyChecksumVerifyChecksumStatus: default: VERIFY_CHECKSUM_UNKNOWN description: "- VERIFY_CHECKSUM_UNKNOWN: VerifyChecksum operation is an unknown\ \ state\n - VERIFY_CHECKSUM_NOT_RUNNING: VerifyChecksum operation is not running\ \ for the specified volume\n - VERIFY_CHECKSUM_STARTED: VerifyChecksum operation\ \ started for the specified volume\n - VERIFY_CHECKSUM_STOPPED: VerifyChecksum\ \ operation was stopped by the user for the specified volume\n - VERIFY_CHECKSUM_COMPLETED:\ \ VerifyChecksum operation completed successfully for the specified volume\n\ \ - VERIFY_CHECKSUM_FAILED: VerifyChecksum operation failed" enum: - VERIFY_CHECKSUM_UNKNOWN - VERIFY_CHECKSUM_NOT_RUNNING - VERIFY_CHECKSUM_STARTED - VERIFY_CHECKSUM_STOPPED - VERIFY_CHECKSUM_COMPLETED - VERIFY_CHECKSUM_FAILED title: 'VerifyChecksumStatus represents the status codes returned from OpenStorageVerifyChecksum service APIs()' type: string VolumeSpecPolicyPolicyOp: default: Equal description: "- Equal: Policy will make sure the value must be equal\n - Minimum:\ \ Policy will make sure the requested value must be greater than or equal\n\ \ - Maximum: Policy will make sure the requested value must be less than or\ \ equal" enum: - Equal - Minimum - Maximum title: This defines an operator for the policy comparisons type: string apiAlert: properties: alert_type: format: int64 title: AlertType user defined alert type type: string cleared: title: Cleared Flag type: boolean count: description: Count of such alerts raised so far. format: int64 type: string first_seen: description: Timestamp when such alert was raised the very first time. format: date-time type: string id: format: int64 title: Id for Alert type: string message: title: Message describing the Alert type: string resource: $ref: '#/components/schemas/apiResourceType' resource_id: title: ResourceId where Alert occurred type: string severity: $ref: '#/components/schemas/apiSeverityType' timestamp: format: date-time title: Timestamp when Alert occurred type: string ttl: format: uint64 title: Time-to-live in seconds for this Alert type: string unique_tag: title: UniqueTag helps identify a unique alert for a given resouce type: string title: Alert is a structure that represents an alert object type: object apiAnonymousBucketAccessMode: default: UnknownBucketAccessMode description: " - Private: Default, disallow uncredentialed access to the backend\ \ storage.\n - ReadOnly: Read only, uncredentialed users can call ListBucket\ \ and GetObject.\n - WriteOnly: Write only, uncredentialed users can only\ \ call PutObject.\n - ReadWrite: Read/Write, uncredentialed users can read\ \ objects as well as PutObject." enum: - UnknownBucketAccessMode - Private - ReadOnly - WriteOnly - ReadWrite type: string apiAttachState: default: ATTACH_STATE_EXTERNAL enum: - ATTACH_STATE_EXTERNAL - ATTACH_STATE_INTERNAL - ATTACH_STATE_INTERNAL_SWITCH title: "- ATTACH_STATE_EXTERNAL: Attached and available externally\n - ATTACH_STATE_INTERNAL:\ \ Attached but only available internally\n - ATTACH_STATE_INTERNAL_SWITCH:\ \ Switching from External to Internal" type: string apiBucketAccessCredentials: properties: access_key_id: title: Access key id type: string secret_access_key: title: Secret access key type: string title: Defines the bucket access credential object type: object apiBucketCreateRequest: description: Defines a request to create a bucket. properties: anonymousBucketAccessMode: $ref: '#/components/schemas/apiAnonymousBucketAccessMode' endpoint: title: Endpoint to use when creating the bucket type: string name: description: Unique name of the bucket. This will be used for idempotency. type: string region: description: Region in which bucket will be created. type: string type: object apiBucketCreateResponse: properties: bucket_id: title: Id of new bucket type: string title: Defines a response to the creation of a bucket type: object apiBucketDeleteResponse: title: Empty response type: object apiBucketGrantAccessRequest: properties: access_policy: title: Access policy to be applied for the account type: string account_name: title: Name of the account to which access to be provided type: string bucket_id: title: Id of the bucket type: string title: Defines a request to grant access to the bucket type: object apiBucketGrantAccessResponse: properties: account_id: description: 'This is the account_id that is being provided access. This will This will be required later to revoke access.' type: string credentials: $ref: '#/components/schemas/apiBucketAccessCredentials' title: Defines a response to the creation of a bucket type: object apiBucketRevokeAccessRequest: properties: account_id: description: AccountId that is having its access revoked. type: string bucket_id: title: Id of bucket to delete type: string title: Defines the request to revoke access to the bucket type: object apiBucketRevokeAccessResponse: title: Empty response type: object apiCapacityUsageInfo: description: 'Provides details on exclusive and shared storage used by snapshot/volume specifically for copy-on-write(COW) snapshots. Deletion of snapshots and overwrite of volume will affect the exclusive storage used by the other dependent snaps and parent volume.' properties: exclusive_bytes: description: 'Storage consumed exclusively by this single snapshot. Deletion of this snapshot may increase the free storage available by this amount.' format: int64 type: string shared_bytes: format: int64 title: Storage consumed by this snapshot that is shared with parent and children type: string total_bytes: format: int64 title: TotalBytes used by this volume type: string type: object apiCatalog: properties: LastModified: format: date-time title: Last Modified type: string children: items: $ref: '#/components/schemas/apiCatalog' title: Children type: array name: title: Name of the Directory/File type: string path: title: Full Path of the Directory/File type: string size: format: uint64 title: File or Directory Size type: string type: title: Type Directory or File type: string type: object apiCatalogResponse: properties: report: $ref: '#/components/schemas/apiReport' root: $ref: '#/components/schemas/apiCatalog' type: object apiCloudDriveTransferJob: properties: destination_instance_id: title: DestinationInstanceID is the ID of the storageless instance that needs to take over the SourceDriveSetID type: string source_driveset_id: title: SourceDrivesetID is the ID of the current driveset that needs to be transferred type: string status: title: Status describes a helpful status of this operation type: string type: object apiCloudMigrateCancelRequest: properties: task_id: title: The id of the task to cancel type: string title: Request to stop a cloud migration type: object apiCloudMigrateInfo: properties: bytes_done: format: uint64 title: BytesDone is the number of bytes already transferred type: string bytes_total: format: uint64 title: BytesTotal is the number of bytes being transferred type: string cloudbackup_id: title: ID of the cloudbackup used for the migration type: string cluster_id: title: ID of the cluster where the volume is being migrated type: string completed_time: format: date-time title: CompletedTime indicates Op's completed time type: string current_stage: $ref: '#/components/schemas/CloudMigrateStage' error_reason: title: Contains the reason for the migration error type: string eta_seconds: format: int64 title: ETASeconds the time duration in seconds for cloud migration completion type: string last_update: format: date-time title: Last time the status was updated type: string local_volume_id: title: ID of the volume on the local cluster type: string local_volume_name: title: Name of the volume on the local cluster type: string remote_volume_id: title: ID of the volume on the remote cluster type: string start_time: format: date-time title: StartTime indicates Op's start time type: string status: $ref: '#/components/schemas/apiCloudMigrateStatus' task_id: title: Task id associated with this migration type: string type: object apiCloudMigrateInfoList: properties: list: items: $ref: '#/components/schemas/apiCloudMigrateInfo' type: array type: object apiCloudMigrateStartResponse: properties: task_id: title: TaskId assocaiated with the migration that was started type: string title: Response to start a cloud migration type: object apiCloudMigrateStatus: default: InvalidStatus enum: - InvalidStatus - Queued - Initialized - InProgress - Failed - Complete - Canceled type: string apiCloudMigrateStatusRequest: properties: cluster_id: title: ID of the cluster for which to return migration statuses type: string task_id: title: Task id for which to return status type: string title: Request for cloud migration operation status type: object apiCloudMigrateStatusResponse: properties: info: additionalProperties: $ref: '#/components/schemas/apiCloudMigrateInfoList' title: Map of cluster id to the status of volumes being migrated type: object title: Response with a status of the cloud migration operations type: object apiClusterPairCreateRequest: properties: credential_id: title: 'Use for the cluster pairing, if given credential id will be used in ClusterPairCreate service' type: string mode: $ref: '#/components/schemas/apiClusterPairModeMode' remote_cluster_ip: title: IP of the remote cluster type: string remote_cluster_port: format: int64 title: Port for the remote cluster type: integer remote_cluster_token: title: Token used to authenticate with the remote cluster type: string set_default: title: Set the new pair as the default type: boolean title: Used to send a request to create a cluster pair type: object apiClusterPairCreateResponse: properties: remote_cluster_id: title: ID of the remote cluster type: string remote_cluster_name: title: Name of the remote cluster type: string title: Response for a pair request type: object apiClusterPairGetResponse: properties: pair_info: $ref: '#/components/schemas/apiClusterPairInfo' title: Response to get a cluster pair type: object apiClusterPairInfo: properties: current_endpoints: items: type: string title: Current endpoints of the cluster type: array endpoint: title: The endpoint used for creating the pair type: string id: title: ID of the cluster type: string mode: $ref: '#/components/schemas/apiClusterPairModeMode' name: title: Name of the cluster type: string options: additionalProperties: type: string title: 'Key/value pair of options associated with the cluster Opaque to openstorage and interpreted by the drivers' type: object secure: title: Flag used to determine if communication is over a secure channel type: boolean token: title: Token associated with cluster type: string title: Information about a cluster pair type: object apiClusterPairModeMode: default: Default enum: - Default - DisasterRecovery - OneTimeMigration title: "- Default: Default pairing mode\n - DisasterRecovery: Paired for DisasterRecovery\n\ \ - OneTimeMigration: Paired for one-time migration" type: string apiClusterPairTokenGetResponse: properties: token: title: Token used to authenticate clusters type: string title: Response to get the cluster token type: object apiClusterPairsEnumerateResponse: properties: default_id: title: ID of the default cluster pair type: string pairs: additionalProperties: $ref: '#/components/schemas/apiClusterPairInfo' title: Pairs Info about the cluster pairs type: object title: Response to enumerate all the cluster pairs type: object apiCollectDiagsJob: properties: request: $ref: '#/components/schemas/apiSdkDiagsCollectRequest' statuses: items: $ref: '#/components/schemas/apiDiagsCollectionStatus' title: Statuses is a list of statuses for diags collection for each node that is part of the request type: array type: object apiCosType: default: NONE enum: - NONE - LOW - MEDIUM - HIGH type: string apiDefragJob: properties: current_running_nodes: items: type: string title: CurrentRunningNodes stores the nodes on which the job is currently running type: array exclude_nodes: items: type: string title: 'ExcludeNodes is a list of node UUID: if provided, the job will skip these nodes; if not provided, will run on all nodes cannot coexist with IncludeNodes' type: array include_nodes: items: type: string title: 'IncludeNodes is a list of node UUID: if provided, will only run the job on these nodes; if not provided, will run on all nodes cannot coexist with ExcludeNodes and NodeSelector' type: array max_duration_minutes: format: int64 title: MaxDurationMinutes defines the time limit in minutes type: integer max_nodes_in_parallel: format: int64 title: MaxNodesInParallel defines the maximum number of nodes running the defrag job in parallel type: integer node_selector: items: $ref: '#/components/schemas/apiLabelSelectorRequirement' title: 'NodeSelector is a list of node label `key=value` pairs, which selects the nodes to be run on for the job can coexist with ExcludeNodes but cannot coexist with IncludeNodes' type: array schedule_id: title: ScheduleId is the ID of the schedule which started this job type: string schedule_one_iteration_only: title: ScheduleOneIterationOnly is true when the defragJob is run by a one-iteration-only schedule type: boolean title: DefragJob describes a job to run defragmentation on cluster nodes type: object apiDefragNodeStatus: properties: last_update_time: format: date-time title: LastUpdateTime is the time when DefragNodeStatus or any DefragPoolStatus was last updated on this node type: string pool_status: additionalProperties: $ref: '#/components/schemas/apiDefragPoolStatus' title: PoolStatus is a map of pairs type: object running_schedule: title: RunningSchedule is the defrag schedule being run on the node type: string title: DefragNodeStatus describes the defragmentation status of a node type: object apiDefragPoolStatus: properties: last_complete_time: format: date-time title: LastCompleteTime is the completion time of the last run on this pool type: string last_offset: format: int64 title: 'LastOffset is the offset of the last defrag command executed on the pending volume -1 means no volume is in a pending state (either not started or fully finished)' type: string last_start_time: format: date-time title: LastStartTime is the start time of the latest run (current or last run) on this pool type: string last_success: title: LastSuccess indicates whether the last run of defrag on this pool was successful type: boolean last_volume_id: title: 'LastVolumeId is the volume on which defrag has started but not yet finished if provided, volume is currently being defraged or was interrupted in the last run of defrag' type: string num_iterations: format: int64 title: NumIterations counts the number of times the pool gets defraged type: integer progress_percentage: format: int64 title: 'ProgressPercentage describes the progress of the lastest defrag job (current or last run) on this pool percentage = bytes completed / sum of file sizes' type: integer running: title: Running indicates whether the pool is being defraged type: boolean title: DefragNodeStatus describes the defragmentation status of a pool type: object apiDiagsCollectionStatus: properties: message: title: Message is a user friendly message for current status of diags collection type: string node: title: Node is the node that's collecting the diags type: string state: $ref: '#/components/schemas/apiDiagsCollectionStatusState' type: object apiDiagsCollectionStatusState: default: UNSPECIFIED description: "- UNSPECIFIED: Unspecified means uninitialized or unknown state\n\ \ - PENDING: Pending indicates the diags collection is pending and hasn't\ \ started\n - RUNNING: Running indicates diags collection is actively running\n\ \ - DONE: Done indicates diags collection has finished\n - FAILED: Failed\ \ indicates diags collection has failed" enum: - UNSPECIFIED - PENDING - RUNNING - DONE - FAILED title: State is an enum for state of diags collection on a given node type: string apiDiagsNodeSelector: properties: all: title: All selects all nodes for diags collection type: boolean node_ids: items: type: string title: NodeIDs are unique IDs fo the nodes for which the diags will be collected type: array node_label_selector: items: $ref: '#/components/schemas/apiLabelSelectorRequirement' title: NodeLabelSelector is a label selector used to select the nodes for which diags will be collected type: array title: 'DiagsNodeSelector allows selecting nodes for diags collection User can select NodeLabelSelector AND/OR NodeIDs. If both are provided, the implementation will select nodes based on both labels and IDs and also handle overlaps If All is set to true, other selectors are ignored since it selects all nodes' type: object apiDiagsVolumeSelector: properties: volume_ids: items: type: string title: 'VolumeIDs selects volumes by their unique IDs and then uses replica and attached nodes for those volumes for diags collection' type: array volume_label_selector: items: $ref: '#/components/schemas/apiLabelSelectorRequirement' title: 'VolumeLabelSelector selects volumes by their labels and then uses replica and attached nodes for those volumes for diags collection' type: array title: 'DiagsVolumeSelector allows selecting volumes for diags collection User can select VolumeLabelSelector AND/OR VolumeIDs. If both are provided, the implementation will select nodes based on both labels and IDs and also handle overlaps' type: object apiDrainAttachmentsSummary: properties: num_volumes_done: format: uint64 title: Number of volumes which have been drained type: string num_volumes_pending: format: uint64 title: Number of volumes which have not been drained yet type: string num_volumes_total: format: uint64 title: Total number of volumes that need to be drained type: string title: 'DrainAttachments summary of the volumes whose attachments need to be drained from a node' type: object apiEnforcementType: default: required description: "- required: This specifies that the rule is required and must\ \ be strictly enforced\n - preferred: This specifies that the rule is preferred\ \ and can be best effort" enum: - required - preferred title: Defines the types of enforcement on the given rules type: string apiExportProtocol: default: INVALID description: "ExportProtocol defines how the device is exported..\n\n - INVALID:\ \ Invalid uninitialized value\n - PXD: PXD the volume is exported over Portworx\ \ block interface.\n - ISCSI: ISCSI the volume is exported over ISCSI.\n -\ \ NFS: NFS the volume is exported over NFS.\n - CUSTOM: Custom the volume\ \ is exported over custom interface." enum: - INVALID - PXD - ISCSI - NFS - CUSTOM type: string apiExportSpec: description: ExportSpec defines how the volume is exported.. properties: export_options: description: ExportOptions options exporting the volume. type: string export_protocol: $ref: '#/components/schemas/apiExportProtocol' type: object apiFSType: default: FS_TYPE_NONE enum: - FS_TYPE_NONE - FS_TYPE_BTRFS - FS_TYPE_EXT4 - FS_TYPE_FUSE - FS_TYPE_NFS - FS_TYPE_VFS - FS_TYPE_XFS - FS_TYPE_ZFS - FS_TYPE_XFSv2 type: string apiFastpathConfig: properties: coord_uuid: title: fastpath coordinator node uuid to enhance reporting type: string dirty: title: Dirty flag on volume - was attached in userspace type: boolean force_failover: title: fastpath force failover, disable auto promote to fastpath type: boolean promote: title: Fastpath temporary promotion during attach type: boolean replicas: items: $ref: '#/components/schemas/apiFastpathReplState' title: Fastpath replica state for each replica in replica set type: array setup_on: format: int32 title: fastpath setup on this node type: integer status: $ref: '#/components/schemas/apiFastpathStatus' verbose: title: Verbose contains detailed info on fastpath status type: string title: FastpathConfig part of volume type: object apiFastpathProtocol: default: FASTPATH_PROTO_UNKNOWN enum: - FASTPATH_PROTO_UNKNOWN - FASTPATH_PROTO_NVMEOF_TCP - FASTPATH_PROTO_ISCSI - FASTPATH_PROTO_LOCAL type: string apiFastpathReplState: properties: acl: type: boolean block: type: boolean dev_id: format: uint64 type: string devpath: type: string exported: type: boolean exported_device: title: target info type: string imported: title: initiator info type: boolean node_id: format: int64 type: integer node_uuid: title: node_uuid added to enhance UI reporting type: string protocol: $ref: '#/components/schemas/apiFastpathProtocol' target: type: string type: object apiFastpathStatus: default: FASTPATH_UNKNOWN description: "- FASTPATH_UNKNOWN: backward compatible state\n - FASTPATH_ACTIVE:\ \ fastpath activated and enabled\n - FASTPATH_INACTIVE: fastpath inactive\n\ \ - FASTPATH_UNSUPPORTED: fastpath unsupported, disabled\n - FASTPATH_PENDING:\ \ fastpath operation setup in progress\n - FASTPATH_ERRORED: fastpath error'd,\ \ possible stuck failure" enum: - FASTPATH_UNKNOWN - FASTPATH_ACTIVE - FASTPATH_INACTIVE - FASTPATH_UNSUPPORTED - FASTPATH_PENDING - FASTPATH_ERRORED title: fastpath extensions type: string apiFilesystemCheckSnapInfo: properties: volume_snapshot_name: title: Name of the snapshot type: string title: 'FilesystemCheckSnapInfo contains the volume snapshot info for filesystem check list snapshots operation' type: object apiFilesystemCheckVolInfo: properties: fs_status_msg: title: FS status detailed message type: string health_status: $ref: '#/components/schemas/apiFilesystemHealthStatus' volume_name: title: Name of the volume type: string title: 'FilesystemCheckVolInfo contains the volume info for filesystem check list volumes operation' type: object apiFilesystemHealthStatus: default: FS_HEALTH_STATUS_UNKNOWN enum: - FS_HEALTH_STATUS_UNKNOWN - FS_HEALTH_STATUS_HEALTHY - FS_HEALTH_STATUS_SAFE_TO_FIX - FS_HEALTH_STATUS_NEEDS_INSPECTION title: "- FS_HEALTH_STATUS_UNKNOWN: filesystem health status is unknown\n -\ \ FS_HEALTH_STATUS_HEALTHY: filesystem is a healthy\n - FS_HEALTH_STATUS_SAFE_TO_FIX:\ \ filesystem has errors, but can be fixed safely\n - FS_HEALTH_STATUS_NEEDS_INSPECTION:\ \ filesystem has errors, these cannot be fixed automatically,\nuser needs\ \ to review the reported errors and take appropriate action" type: string apiFstrimVolumeUsageInfo: properties: du_usage: format: uint64 title: Disk usage in bytes type: string perform_auto_fstrim: title: If auto fstrim is performed to the volume, if not, why type: string px_usage: format: uint64 title: Disk usage seen in Portworx in bytes type: string volume_name: title: Volume name type: string volume_size: format: uint64 title: Volume size type: string title: FstrimVolUsageInfo type: object apiGroup: description: 'Group represents VolumeGroup / namespace All volumes in the same group share this object.' properties: id: description: Id common identifier across volumes that have the same group. type: string type: object apiHardwareType: default: UnknownMachine enum: - UnknownMachine - VirtualMachine - BareMetalMachine title: "- UnknownMachine: When we do not know the machine type alsp the default\n\ \ - VirtualMachine: when we are running on virtual machine\n - BareMetalMachine:\ \ when we are running on physical hardware" type: string apiIoProfile: default: IO_PROFILE_SEQUENTIAL enum: - IO_PROFILE_SEQUENTIAL - IO_PROFILE_RANDOM - IO_PROFILE_DB - IO_PROFILE_DB_REMOTE - IO_PROFILE_CMS - IO_PROFILE_SYNC_SHARED - IO_PROFILE_AUTO - IO_PROFILE_NONE - IO_PROFILE_JOURNAL - IO_PROFILE_AUTO_JOURNAL type: string apiIoStrategy: description: IoStrategy defines how I/O should be performed to backing storage media. properties: async_io: description: AsyncIO enables kaio. type: boolean direct_io: title: Enable direct I/O on the backing datastore type: boolean early_ack: description: EarlyAck enables acks for async I/O at the source. type: boolean type: object apiIoThrottle: properties: read_bw_mbytes: format: int64 type: integer read_iops: format: int64 type: integer write_bw_mbytes: format: int64 type: integer write_iops: format: int64 type: integer title: 'IoThrottle defines IO throttle limits for a volume read_iops : maximum read iops this volume is allowed write_iops : maximum write iops this volume is allowed read_bw_mbytes : maximum read bandwidth this volume is allowed in MegaBytes write_bw_mbytes : maximum write bandwidth this volume is allowed in MegaBytes' type: object apiJob: properties: clouddrive_transfer: $ref: '#/components/schemas/apiCloudDriveTransferJob' collect_diags: $ref: '#/components/schemas/apiCollectDiagsJob' create_time: format: date-time title: CreateTime is the time the job was created type: string defrag: $ref: '#/components/schemas/apiDefragJob' drain_attachments: $ref: '#/components/schemas/apiNodeDrainAttachmentsJob' id: title: ID of the job type: string last_update_time: format: date-time title: LastUpdateTime is the time the job was updated type: string state: $ref: '#/components/schemas/apiJobState' type: $ref: '#/components/schemas/apiJobType' title: 'Job is a generic job object that can encapsulate other messages which follow the job framework of APIs' type: object apiJobState: default: UNSPECIFIED_STATE description: "- UNSPECIFIED_STATE: Unspecified\n - PENDING: Pending indicates\ \ job is still pending and has not started work\n - RUNNING: Running indicates\ \ job is actively running\n - DONE: Done indicates job has finished processing\n\ \ - PAUSED: Paused indicates job is paused\n - CANCELLED: Cancelled indicates\ \ job is cancelled\n - FAILED: Failed indicates job has failed" enum: - UNSPECIFIED_STATE - PENDING - RUNNING - DONE - PAUSED - CANCELLED - FAILED title: State is an enum for state of a node drain operation type: string apiJobSummary: properties: id: title: ID of the job type: string total_runtime_seconds: format: uint64 title: Total runtime in seconds type: string work_summaries: items: $ref: '#/components/schemas/apiJobWorkSummary' title: Summary provides more information about the on-going job type: array title: JobSummary provides a summary of a job type: object apiJobType: default: UNSPECIFIED_TYPE description: "- UNSPECIFIED_TYPE: Unspecified\n - NONE: None\n - DRAIN_ATTACHMENTS:\ \ Job for draining volume attachments\n - CLOUD_DRIVE_TRANSFER: Job for transferring\ \ cloud drives between nodes\n - COLLECT_DIAGS: Job for collecting diags from\ \ the cluster nodes\n - DEFRAG: Job for storage defragmentation on cluster\ \ nodes" enum: - UNSPECIFIED_TYPE - NONE - DRAIN_ATTACHMENTS - CLOUD_DRIVE_TRANSFER - COLLECT_DIAGS - DEFRAG title: Type are the supported job types type: string apiJobWorkSummary: properties: drain_attachments_summary: $ref: '#/components/schemas/apiDrainAttachmentsSummary' title: JobWorkSummary describes an action taken while performing the hob type: object apiLabelSelectorRequirement: description: 'LabelSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.' properties: key: description: Key is the label key that the selector applies to. type: string operator: $ref: '#/components/schemas/LabelSelectorRequirementOperator' values: description: 'Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.' items: type: string type: array type: object apiMountOptions: description: MountOptions defines the mount options with which a volume is mounted. properties: options: additionalProperties: type: string title: 'Options are opaque key value pairs that are passed as mount options when a volume is mounted. If an empty value is provided only the key will be passed as an option If both key and value are provided then ''key=value'' will be passed as an option' type: object type: object apiNFSProxySpec: description: NFSProxySpec is the spec for proxying an NFS share. properties: export_path: title: ExportPath is the NFS export path on the NFS server type: string sub_path: description: SubPath is the sub-directory from an NFS share that should be reflected. type: string type: object apiNearSyncReplicationStrategy: default: NEAR_SYNC_STRATEGY_NONE enum: - NEAR_SYNC_STRATEGY_NONE - NEAR_SYNC_STRATEGY_AGGRESSIVE - NEAR_SYNC_STRATEGY_OPTIMIZED type: string apiNodeDrainAttachmentsJob: properties: Status: title: Status describes a helpful status of this node drain operation type: string create_time: format: date-time title: CreateTime is the time the job was created type: string issuer: title: 'Issuer is a user friendly name for the caller who is invoking the API. It can be used by caller to filter out drain requests from a particular issuer' type: string last_update_time: format: date-time title: LastUpdateTime is the time the job was updated type: string node_id: title: NodeID of the node for which this drain job is running type: string parameters: $ref: '#/components/schemas/apiSdkNodeDrainAttachmentsRequest' title: NodeDrainAttachmentsJob describe a job to drain volume attachments from a node type: object apiObjectstoreInfo: properties: access_key: title: AccessKey for login into objectstore type: string access_port: format: int64 title: AccessPort is objectstore server port type: string action: format: int64 title: Action being taken on this objectstore type: string current_endpoint: title: CurrentEndpoint on which objectstore server is accessible type: string enabled: title: Enable/Disable created objectstore type: boolean endpoints: items: type: string title: Endpoints for accessing objectstore type: array region: title: Region for this objectstore type: string secret_key: title: SecretKey for login into objectstore type: string status: title: Status of objectstore running/failed type: string uuid: title: UUID of objectstore type: string volume_id: title: VolumeID of volume used by object store type: string title: ObjectstoreInfo is a structure that has current objectstore info type: object apiOwnership: description: 'Ownership information for resource. Administrators are users who belong to the group `*`, meaning, every group.' properties: acls: $ref: '#/components/schemas/OwnershipAccessControl' owner: description: 'Username of owner. The storage system uses the username taken from the security authorization token and is saved on this field. Only users with system administration can edit this value.' type: string type: object apiPXDProxySpec: properties: id: title: ID of the remote portworx volume type: string title: PXDProxySpec is the spec for proxying a Portworx volume type: object apiProxyProtocol: default: PROXY_PROTOCOL_INVALID description: "ProxyProtocol defines the protocol used for proxy.\n\n - PROXY_PROTOCOL_INVALID:\ \ Invalid uninitialized value\n - PROXY_PROTOCOL_NFS: NFS indicates that the\ \ external data source is NFS and the volume\nwill be reflected over NFS protocol\n\ \ - PROXY_PROTOCOL_S3: S3 indicates that the external data source is an object\ \ store.\n - PROXY_PROTOCOL_PXD: PXD indicates that the external data source\ \ is a Portworx block volume.\n - PROXY_PROTOCOL_PURE_BLOCK: PURE_BLOCK indicates\ \ that the external data source is a pure_block volume.\n - PROXY_PROTOCOL_PURE_FILE:\ \ PURE_FILE indicates that the external data source is a pure_file volume." enum: - PROXY_PROTOCOL_INVALID - PROXY_PROTOCOL_NFS - PROXY_PROTOCOL_S3 - PROXY_PROTOCOL_PXD - PROXY_PROTOCOL_PURE_BLOCK - PROXY_PROTOCOL_PURE_FILE type: string apiProxySpec: description: ProxySpec defines how this volume will reflect an external data source. properties: endpoint: description: 'Endpoint is the external endpoint which can be used for accessing the external data source.' type: string nfs_spec: $ref: '#/components/schemas/apiNFSProxySpec' proxy_protocol: $ref: '#/components/schemas/apiProxyProtocol' pure_block_spec: $ref: '#/components/schemas/apiPureBlockSpec' pure_file_spec: $ref: '#/components/schemas/apiPureFileSpec' pxd_spec: $ref: '#/components/schemas/apiPXDProxySpec' s3_spec: $ref: '#/components/schemas/apiS3ProxySpec' type: object apiPureBlockSpec: properties: full_vol_name: type: string pod_name: type: string serial_num: type: string title: PureBlockSpec is the spec for proxying a volume on pure_block backends type: object apiPureFileSpec: properties: export_rules: type: string full_vol_name: type: string nfs_endpoint: type: string title: PureFileSpec is the spec for proxying a volume on pure_file backends type: object apiRebalanceScheduleInfo: properties: create_time: format: date-time type: string rebalance_requests: items: $ref: '#/components/schemas/apiSdkStorageRebalanceRequest' type: array schedule: type: string type: object apiRelaxedReclaimPurge: properties: num_purged: format: uint64 title: num_purged returns number of volumes purged type: string title: Purges the RelaxedReclaim queue type: object apiReplicaPlacementSpec: properties: affected_replicas: format: int32 title: 'AffectedReplicas defines the number of volume replicas affected by this rule. If not provided, rule would affect all replicas (optional)' type: integer enforcement: $ref: '#/components/schemas/apiEnforcementType' match_expressions: description: MatchExpressions is a list of label selector requirements. The requirements are ANDed. items: $ref: '#/components/schemas/apiLabelSelectorRequirement' type: array topology_key: title: 'TopologyKey key for the matching all segments of the cluster topology with the same key e.g If the key is failure-domain.beta.kubernetes.io/zone, this should match all nodes with the same value for this key (i.e in the same zone)' type: string weight: format: int64 title: 'Weight defines the weight of the rule which allows to break the tie with other matching rules. A rule with higher weight wins over a rule with lower weight. (optional)' type: string type: object apiReplicaSet: properties: id: format: int64 title: ID is the unique ID of this replica set type: integer nodes: items: type: string type: array pool_uuids: items: type: string title: Unique IDs of the storage pools for this replica set type: array title: 'ReplicaSet set of machine IDs (nodes) to which part of this volume is erasure coded - for clustered storage arrays' type: object apiReport: properties: directories: format: int64 title: Directory count type: string files: format: int64 title: File count type: string type: object apiResourceType: default: RESOURCE_TYPE_NONE enum: - RESOURCE_TYPE_NONE - RESOURCE_TYPE_VOLUME - RESOURCE_TYPE_NODE - RESOURCE_TYPE_CLUSTER - RESOURCE_TYPE_DRIVE - RESOURCE_TYPE_POOL type: string apiRestoreParamBoolType: default: PARAM_BKUPSRC enum: - PARAM_BKUPSRC - PARAM_FALSE - PARAM_TRUE type: string apiRestoreVolSnashotSchedule: properties: schedule: type: string type: object apiRestoreVolStoragePolicy: properties: policy: type: string type: object apiRestoreVolumeSpec: description: 'RestoreSpec allows some of the restore volume properties of to be modified while restoring the cloud baackup. All pointer fields with nil value will inherit corresponding field value from backup''s spec.' properties: aggregation_level: description: Aggregation level Specifies the number of parts the volume can be aggregated from. format: int64 type: integer auto_fstrim: $ref: '#/components/schemas/apiRestoreParamBoolType' cos: $ref: '#/components/schemas/apiCosType' export_spec: $ref: '#/components/schemas/apiExportSpec' fp_preference: $ref: '#/components/schemas/apiRestoreParamBoolType' group: $ref: '#/components/schemas/apiGroup' group_enforced: description: GroupEnforced is true if consistency group creation is enforced. type: boolean ha_level: description: HaLevel specifies the number of copies of data. format: int64 type: string io_profile: $ref: '#/components/schemas/apiIoProfile' io_profile_bkup_src: title: IoProfileBkupSrc indicates to inherit IoProfile from cloudbackup type: boolean io_strategy: $ref: '#/components/schemas/apiIoStrategy' io_throttle: $ref: '#/components/schemas/apiIoThrottle' journal: $ref: '#/components/schemas/apiRestoreParamBoolType' mount_options: $ref: '#/components/schemas/apiMountOptions' nodiscard: $ref: '#/components/schemas/apiRestoreParamBoolType' ownership: $ref: '#/components/schemas/apiOwnership' placement_strategy: $ref: '#/components/schemas/apiVolumePlacementStrategy' proxy_spec: $ref: '#/components/schemas/apiProxySpec' proxy_write: $ref: '#/components/schemas/apiRestoreParamBoolType' queue_depth: format: int64 title: QueueDepth defines the desired block device queue depth type: integer readahead: $ref: '#/components/schemas/apiRestoreParamBoolType' replica_set: $ref: '#/components/schemas/apiReplicaSet' shared: $ref: '#/components/schemas/apiRestoreParamBoolType' sharedv4: $ref: '#/components/schemas/apiRestoreParamBoolType' sharedv4_mount_options: $ref: '#/components/schemas/apiMountOptions' sharedv4_service_spec: $ref: '#/components/schemas/apiSharedv4ServiceSpec' sharedv4_spec: $ref: '#/components/schemas/apiSharedv4Spec' snapshot_interval: format: int64 title: SnapshotInterval in minutes, set to 0 to disable snapshots type: integer snapshot_schedule: $ref: '#/components/schemas/apiRestoreVolSnashotSchedule' sticky: $ref: '#/components/schemas/apiRestoreParamBoolType' storage_policy: $ref: '#/components/schemas/apiRestoreVolStoragePolicy' type: object apiRuntimeStateMap: description: 'RuntimeStateMap is a list of name value mapping of driver specific runtime information.' properties: runtime_state: additionalProperties: type: string type: object type: object apiS3ProxySpec: description: S3ProxySpec is the spec for proxying an external object store. properties: bucket_name: title: BucketName is the name of the bucket from the object store type: string type: object apiScanPolicy: description: 'ScanPolicy defines when a filesystem check is triggered and what action to take User can specify *one* of the following valid policies 1. trigger=SCAN_TRIGGER_ON_MOUNT, action=SCAN_ACTION_SCAN_ONLY 2. trigger=SCAN_TRIGGER_ON_MOUNT, action=SCAN_ACTION_SCAN_REPAIR 3. trigger=SCAN_TRIGGER_ON_NEXT_MOUNT, action=SCAN_ACTION_SCAN_ONLY 4. trigger=SCAN_TRIGGER_ON_NEXT_MOUNT, action=SCAN_ACTION_SCAN_REPAIR 5. trigger=SCAN_TRIGGER_NONE, action=SCAN_ACTION_NONE Note: When trigger == SCAN_TRIGGER_ON_NEXT_MOUNT, the associated action is performed once on the next mount and the scanpolicy gets reset to `trigger=SCAN_TRIGGER_NONE, action=SCAN_ACTION_NONE`, irrespective of the output of the action.' properties: action: $ref: '#/components/schemas/ScanPolicyScanAction' trigger: $ref: '#/components/schemas/ScanPolicyScanTrigger' type: object apiSchedule: properties: create_time: format: date-time title: CreateTime is the time the schedule was created type: string id: title: ID of the schedule type: string last_update_time: format: date-time title: LastUpdateTime is the time the schedule was updated type: string max_duration_minutes: format: int64 title: MaxDurationMinutes defines the time limit of one run in minutes type: integer start_time: title: "StartTime is the scheduled time to start a run\nValid formats: \n\ \ daily=HH:mm e.g. daily=19:15\n weekly=weekday@HH:mm e.g. weekly=Sunday@19:15\n\ \ monthly=dd@HH:mm e.g. monthly=22@19:15" type: string tasks: items: $ref: '#/components/schemas/apiJob' title: Tasks is the tasks to be run in this schedule (must be of same job type) type: array type: $ref: '#/components/schemas/apiJobType' title: "Schedule is a generic schedule object that can encapsulate different\ \ \ntypes of scheduled jobs which follow the schedule framework of APIs" type: object apiSchedulerTopology: properties: labels: additionalProperties: type: string title: Key-value pairs defining the topology of the node type: object title: 'SchedulerTopology defines the topology information of the storage node in scheduler context' type: object apiSdkAlertsAlertTypeQuery: description: 'SdkAlertsAlertTypeQuery queries for alerts using alert type and it requires that resource type be provided as well.' properties: alert_type: description: Alert type used to build query. format: int64 type: string resource_type: $ref: '#/components/schemas/apiResourceType' type: object apiSdkAlertsCountSpan: description: SdkAlertsCountSpan to store count range information. properties: max_count: description: Max count of such alerts raised so far. format: int64 type: string min_count: description: Min count of such alerts raised so far. format: int64 type: string type: object apiSdkAlertsDeleteRequest: description: SdkAlertsDeleteRequest is a request message to delete alerts. properties: queries: description: 'It takes a list of queries to find matching alerts. Matching alerts are deleted.' items: $ref: '#/components/schemas/apiSdkAlertsQuery' type: array type: object apiSdkAlertsDeleteResponse: description: SdkAlertsDeleteResponse is empty. type: object apiSdkAlertsEnumerateWithFiltersRequest: description: SdkAlertsEnumerateRequest is a request message to enumerate alerts. properties: queries: description: 'It is a list of queries to find matching alerts. Output of each of these queries is added to a global pool and returned as output of an RPC call. In that sense alerts are fetched if they match any of the queries.' items: $ref: '#/components/schemas/apiSdkAlertsQuery' type: array type: object apiSdkAlertsEnumerateWithFiltersResponse: description: SdkAlertsEnumerateResponse is a list of alerts. properties: alerts: description: Response contains a list of alerts. items: $ref: '#/components/schemas/apiAlert' type: array type: object apiSdkAlertsOption: description: SdkAlertsOption contains options for filtering alerts. properties: count_span: $ref: '#/components/schemas/apiSdkAlertsCountSpan' is_cleared: description: Query using cleared flag. type: boolean min_severity_type: $ref: '#/components/schemas/apiSeverityType' time_span: $ref: '#/components/schemas/apiSdkAlertsTimeSpan' type: object apiSdkAlertsQuery: description: 'SdkAlertsQuery is one of the query types and a list of options. Each query object is one of the three query types and a list of options.' properties: alert_type_query: $ref: '#/components/schemas/apiSdkAlertsAlertTypeQuery' opts: description: Opts is a list of options associated with one of the queries. items: $ref: '#/components/schemas/apiSdkAlertsOption' type: array resource_id_query: $ref: '#/components/schemas/apiSdkAlertsResourceIdQuery' resource_type_query: $ref: '#/components/schemas/apiSdkAlertsResourceTypeQuery' type: object apiSdkAlertsResourceIdQuery: description: 'SdkAlertsResourceIdQuery queries for alerts using resource id and it requires that both alert type and resource type be provided as well.' properties: alert_type: description: Alert type used to build query. format: int64 type: string resource_id: description: Resource ID used to build query. type: string resource_type: $ref: '#/components/schemas/apiResourceType' type: object apiSdkAlertsResourceTypeQuery: description: SdkAlertsResourceTypeQuery queries for alerts using only resource id. properties: resource_type: $ref: '#/components/schemas/apiResourceType' type: object apiSdkAlertsTimeSpan: description: SdkAlertsTimeSpan to store time window information. properties: end_time: format: date-time title: End timestamp when Alert occurred type: string start_time: format: date-time title: Start timestamp when Alert occurred type: string type: object apiSdkAutoFSTrimPopRequest: properties: volume_id: title: Id of the volume type: string title: 'SdkAutoFSTrimPopRequest defines the request to pop a volume to autofstrim queue' type: object apiSdkAutoFSTrimPopResponse: properties: message: title: Text blob containing ASCII text providing details of the operation type: string title: 'SdkAutoFSTrimPopResponse defines the response to pop a volume to autofstrim queue' type: object apiSdkAutoFSTrimPushRequest: properties: volume_id: title: Id of the volume type: string title: 'SdkAutoFSTrimPushRequest defines the request to push a volume to autofstrim queue' type: object apiSdkAutoFSTrimPushResponse: properties: message: title: Text blob containing ASCII text providing details of the operation type: string title: 'SdkAutoFSTrimPushResponse defines the response to push a volume to autofstrim queue' type: object apiSdkAutoFSTrimStatusResponse: description: 'SdkAutoFSTrimStatusResponse defines the response for a SdkAutoFSTrimStatusRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string trim_status: additionalProperties: $ref: '#/components/schemas/FilesystemTrimFilesystemTrimStatus' title: map of volume id and the state of the filesystem trim operation type: object type: object apiSdkAutoFSTrimUsageResponse: description: 'SdkAutoFSTrimUsageResponse defines the response for a SdkAutoFSTrimUsageRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string usage: additionalProperties: $ref: '#/components/schemas/apiFstrimVolumeUsageInfo' title: map of fstrim disk usage and volume name type: object type: object apiSdkAwsCredentialRequest: properties: access_key: title: Access key type: string disable_path_style: title: (optional) Disable path-style access type: boolean disable_ssl: title: (optional) Disable SSL connection type: boolean endpoint: title: Endpoint type: string region: title: Region type: string secret_key: title: Secret key type: string server_side_encryption: title: (optional) server side encryption type: string title: Defines credentials for Aws/S3 endpoints type: object apiSdkAwsCredentialResponse: properties: access_key: title: Access key type: string disable_path_style: title: (optional) Disable path-style access type: boolean disable_ssl: title: (optional) Disable SSL connection type: boolean endpoint: title: Endpoint type: string region: title: Region type: string s3_storage_class: title: (optional) Storage class for s3 puts type: string server_side_encryption: title: (optional) server side encryption type: string title: Defines the response for AWS/S3 credentials type: object apiSdkAzureCredentialRequest: properties: account_key: title: Account key type: string account_name: title: Account name type: string title: Defines credentials for Azure type: object apiSdkAzureCredentialResponse: properties: account_name: title: Account name type: string title: Defines the response for Azure credentials type: object apiSdkCleanUpDefragSchedulesResponse: title: Defines a response of defrag schedules clean-up type: object apiSdkCloudBackupCatalogRequest: properties: backup_id: title: Id of the backup type: string credential_id: title: Credential id describe the credentials for the cloud type: string title: Defines a request to get catalog of a backup stored by a cloud provider type: object apiSdkCloudBackupCatalogResponse: properties: contents: items: type: string title: Contents is listing of backup contents type: array title: Defines a response containing the contents of a backup stored by a cloud provider type: object apiSdkCloudBackupClusterType: default: SdkCloudBackupClusterUnknown description: "- SdkCloudBackupClusterUnknown: Unknown\n - SdkCloudBackupClusterCurrent:\ \ Beongs to this cluster\n - SdkCloudBackupClusterOther: not this. other cluster" enum: - SdkCloudBackupClusterUnknown - SdkCloudBackupClusterCurrent - SdkCloudBackupClusterOther title: CloudBackup operations types type: string apiSdkCloudBackupCreateRequest: properties: credential_id: title: Credential id refers to the cloud credentials needed to backup type: string delete_local: title: 'DeleteLocal indicates if local snap created for backup must be deleted after the backup is complete' type: boolean full: title: Full indicates if full backup is desired even though incremental is possible type: boolean full_backup_frequency: description: 'FullBackupFrequency indicates number of incremental backup after which a fullbackup must be created. This is to override the default value for manual/user triggerred backups and not applicable for scheduled backups Value of 0 retains the default behavior.' format: int64 type: integer labels: additionalProperties: type: string description: 'Labels are list of key value pairs to tag the cloud backup. These labels are stored in the metadata associated with the backup.' type: object near_sync_migrate: title: Indicates if this is a near sync migrate type: boolean task_id: description: 'TaskId of the task performing this backup. This value can be used for idempotency.' type: string volume_id: title: VolumeID of the volume for which cloudbackup is requested type: string title: Defines a request to create a backup of a volume to the cloud type: object apiSdkCloudBackupCreateResponse: properties: task_id: title: TaskId of the task performing the backup type: string title: Empty response type: object apiSdkCloudBackupDeleteAllRequest: properties: credential_id: title: Credential id is the credential for cloud to be used for the request type: string src_volume_id: title: id of the volume for the request type: string title: 'Defines a request to delete all the backups stored by a cloud provider for a specified volume' type: object apiSdkCloudBackupDeleteAllResponse: title: Empty response type: object apiSdkCloudBackupDeleteResponse: title: Empty response type: object apiSdkCloudBackupEnumerateWithFiltersRequest: description: '* For a specific volume in current cluster: Set `src_volume_id` to your desired volume id and do not provide `cluster_id` and `all`. * For a specific volume in a specific cluster: Set `src_volume_id` to your desired volume id and specify `cluster_id`. * For a specific volume in all clusters: Set `src_volume_id` to your desired volume id and set `all` to true, do not provide `cluster_id`. * For all volumes in current cluster: do not provide `cluster_id`, `volume_id` and `all`. * For all volumes in a specific cluster: Set `cluster_id` to your desired cluster id and do not provide `volume_id` and `all`. * For all volumes in all clusters: Set `all` to true do not provide `volume_id` and `cluster_id`.' properties: all: description: (optional) All indicates if the request should show cloud backups for all clusters or the current cluster. type: boolean cloud_backup_id: title: 'If one wants to enumerate known backup, set this field to the backup ID naming format :clusteruuidORbicketname/srcVolId-snapId(-incr)' type: string cluster_id: title: (optional) Cluster id specifies the cluster for the request type: string continuation_token: description: 'Returned in the enumerate response if not all of the backups could be returned in the response.' type: string credential_id: title: Credential id is the credential for cloud to be used for the request type: string max_backups: format: uint64 title: (optional) if caller wished to limit number of backups returned by enumerate type: string metadata_filter: additionalProperties: type: string title: (optional) Enumerates backups that have tags of this type type: object missing_src_volumes: title: 'To enumerate cloudbackups for which source volumes do not exist in this cluster' type: boolean src_volume_id: description: (optional) Source id of the volume for the request. type: string status_filter: $ref: '#/components/schemas/apiSdkCloudBackupStatusType' title: 'Defines a request to list the backups stored by a cloud provider. The following combinations can be used to get cloud backup information:' type: object apiSdkCloudBackupEnumerateWithFiltersResponse: properties: backups: items: $ref: '#/components/schemas/apiSdkCloudBackupInfo' type: array continuation_token: title: 'if this is not an empty string, callers must pass this to get next list of backups' type: string title: Defines a response which lists all the backups stored by a cloud provider type: object apiSdkCloudBackupGroupCreateRequest: properties: credential_id: title: Credential id refers to the cloud credentials needed to backup type: string delete_local: title: 'DeleteLocal indicates if local snap created for backup must be deleted after the backup is complete' type: boolean full: title: Full indicates if full backup is desired even though incremental is possible type: boolean group_id: title: GroupID of the volume for which cloudbackup is requested type: string labels: additionalProperties: type: string description: 'Labels are list of key value pairs to tag the cloud backup. These labels are stored in the metadata associated with the backup.' type: object volume_ids: items: type: string title: 'VolumeIds are a list of volume IDs to use for the backup request. If multiple of GroupID, Labels or VolumeIDs are specified, volumes matching all of them are backed uup' type: array title: Defines a request to create a group backup of a group to the cloud type: object apiSdkCloudBackupGroupCreateResponse: properties: group_cloud_backup_id: title: ID for this group of backups type: string task_ids: items: type: string title: TaskIds of the tasks performing the group backup type: array title: Empty response type: object apiSdkCloudBackupHistoryItem: properties: src_volume_id: title: SrcVolumeID is volume ID which was backedup type: string status: $ref: '#/components/schemas/apiSdkCloudBackupStatusType' timestamp: format: date-time title: TimeStamp is the time at which either backup completed/failed type: string title: 'SdkCloudBackupHistoryItem contains information about a backup for a specific volume' type: object apiSdkCloudBackupHistoryResponse: properties: history_list: items: $ref: '#/components/schemas/apiSdkCloudBackupHistoryItem' title: HistoryList is list of past backups on this volume type: array title: Defines a response containing a list of history of backups to a cloud provider type: object apiSdkCloudBackupInfo: properties: cluster_type: $ref: '#/components/schemas/apiSdkCloudBackupClusterType' id: title: This is the id as represented by the cloud provider type: string metadata: additionalProperties: type: string title: Metadata associated with the backup type: object namespace: title: k8s namespace to which this backup belongs to type: string src_volume_id: title: Source volumeID of the backup type: string src_volume_name: title: Name of the sourceVolume of the backup type: string status: $ref: '#/components/schemas/apiSdkCloudBackupStatusType' timestamp: format: date-time title: 'Timestamp is the timestamp at which the source volume was backed up to cloud' type: string title: SdkCloudBackupInfo has information about a backup stored by a cloud provider type: object apiSdkCloudBackupOpType: default: SdkCloudBackupOpTypeUnknown description: "- SdkCloudBackupOpTypeUnknown: Unknown\n - SdkCloudBackupOpTypeBackupOp:\ \ Backup\n - SdkCloudBackupOpTypeRestoreOp: Restore\n - SdkNearSyncOpTypeCloneOp:\ \ NearSync clone\n - SdkNearSyncOpTypeReplAddOp: NearSync replication add\n\ \ - SdkNearSyncOpTypeRestoreOp: NearSync restore" enum: - SdkCloudBackupOpTypeUnknown - SdkCloudBackupOpTypeBackupOp - SdkCloudBackupOpTypeRestoreOp - SdkNearSyncOpTypeCloneOp - SdkNearSyncOpTypeReplAddOp - SdkNearSyncOpTypeRestoreOp title: CloudBackup operations types type: string apiSdkCloudBackupRequestedState: default: SdkCloudBackupRequestedStateUnknown description: "- SdkCloudBackupRequestedStateUnknown: Unknown state\n - SdkCloudBackupRequestedStatePause:\ \ Pause the backup or restore\n - SdkCloudBackupRequestedStateResume: Resume\ \ the backup or restore\n - SdkCloudBackupRequestedStateStop: Stop a backup\ \ or restore\n - SdkNearSyncRequestedStatePause: Pause the near sync migrate\n\ \ - SdkNearSyncRequestedStateResume: Resume the near sync migrate\n - SdkNearSyncRequestedStateStop:\ \ Stop a near sync migrate" enum: - SdkCloudBackupRequestedStateUnknown - SdkCloudBackupRequestedStatePause - SdkCloudBackupRequestedStateResume - SdkCloudBackupRequestedStateStop - SdkNearSyncRequestedStatePause - SdkNearSyncRequestedStateResume - SdkNearSyncRequestedStateStop title: 'SdkCloudBackupRequestedState defines states to set a specified backup or restore to or from a cloud provider' type: string apiSdkCloudBackupRestoreRequest: properties: backup_id: title: Backup ID being restored type: string credential_id: title: The credential to be used for restore operation type: string locator: $ref: '#/components/schemas/apiVolumeLocator' node_id: title: 'Optional for provisioning restore volume (ResoreVolumeName should not be specified)' type: string restore_volume_name: title: 'Optional volume Name of the new volume to be created in the cluster for restoring the cloudbackup' type: string spec: $ref: '#/components/schemas/apiRestoreVolumeSpec' task_id: title: TaskId of the task performing this restore type: string title: 'Defines a request to restore a volume from an existing backup stored by a cloud provider' type: object apiSdkCloudBackupRestoreResponse: properties: restore_volume_id: title: VolumeID to which the backup is being restored type: string task_id: title: TaskId of the task performing the restore type: string title: 'Defines a response when restoring a volume from a backup stored by a cloud provider' type: object apiSdkCloudBackupSchedCreateRequest: properties: cloud_sched_info: $ref: '#/components/schemas/apiSdkCloudBackupScheduleInfo' title: 'Defines a request to create a schedule for volume backups to a cloud provider' type: object apiSdkCloudBackupSchedCreateResponse: properties: backup_schedule_id: title: Id of newly created backup schedule type: string title: 'Defines a response containing the id of a schedule for a volume backup to a cloud provider' type: object apiSdkCloudBackupSchedDeleteResponse: title: Empty response type: object apiSdkCloudBackupSchedEnumerateResponse: properties: cloud_sched_list: additionalProperties: $ref: '#/components/schemas/apiSdkCloudBackupScheduleInfo' title: Returns list of backup schedules type: object title: 'Defines a response containing a map listing the schedules for volume backups to a cloud provider' type: object apiSdkCloudBackupSchedUpdateRequest: properties: cloud_sched_info: $ref: '#/components/schemas/apiSdkCloudBackupScheduleInfo' sched_uuid: type: string title: 'Defines a request to update a schedule for volume backups to a cloud provider' type: object apiSdkCloudBackupSchedUpdateResponse: title: Empty response type: object apiSdkCloudBackupScheduleInfo: properties: credential_id: title: The cloud credential used with this schedule type: string full: description: Full indicates if scheduled backups should always be full and never incremental. type: boolean group_id: title: GroupId indicates the group of volumes for which this schedule applies type: string labels: additionalProperties: type: string title: labels indicates group of volumes with similar labels for which this schedule applies type: object max_backups: format: uint64 title: 'MaxBackups indicates when to force full backup to cloud. If RetentionDays is not specified or is 0 (older scheme), this is also the maximum number of scheduled backups retained in the cloud. Older backups are deleted' type: string retention_days: format: int64 title: 'Number of days that Scheduled CloudBackups will be kept after which they are deleted' type: integer schedules: items: $ref: '#/components/schemas/apiSdkSchedulePolicyInterval' title: Schedules are the frequencies of the backup type: array src_volume_id: title: The schedule's source volume type: string title: 'SdkCloudBackupScheduleInfo describes a schedule for volume backups to a cloud provider' type: object apiSdkCloudBackupSizeResponse: properties: capacity_required_for_restore: format: uint64 title: Used size of the volume to be restored (in bytes) type: string compressed_object_bytes: format: uint64 title: Size of the compressed individual backup in object-store or NFS type: string size: format: uint64 title: Same value as total_download_bytes, will be deprecated type: string total_download_bytes: format: uint64 title: Total download size of all the backups (full & incremental) required for a restore type: string title: Defines a response containing the size of the volume type: object apiSdkCloudBackupStateChangeRequest: properties: requested_state: $ref: '#/components/schemas/apiSdkCloudBackupRequestedState' task_id: title: 'Describes the backup/restore task state change is being requested' type: string title: 'Defines a request to change the state of a backup or restore to or from a cloud provider' type: object apiSdkCloudBackupStateChangeResponse: title: Empty response type: object apiSdkCloudBackupStatus: properties: backup_id: title: This is the id as represented by the cloud provider type: string bytes_done: format: uint64 title: BytesDone indicates total Bytes uploaded/downloaded type: string bytes_total: format: uint64 title: BytesTotal is the total number of bytes being transferred type: string completed_time: format: date-time title: CompletedTime indicates Op's completed time type: string credential_id: title: CredentialId is the credential used for cloud with this backup/restore op type: string eta_seconds: format: int64 title: ETASeconds is the number of seconds for cloud backup completion type: string group_id: title: string group_id volume's group id if this was group cloud backup type: string info: items: type: string title: Info currently indicates the failure cause for failed backup/restore type: array node_id: title: NodeID is the ID of the node where this Op is active type: string optype: $ref: '#/components/schemas/apiSdkCloudBackupOpType' src_volume_id: title: 'SourceVolumeID is the the volume that is either being backed up to cloud or target volume to which a backup is being restored' type: string start_time: format: date-time title: StartTime indicates Op's start time type: string status: $ref: '#/components/schemas/apiSdkCloudBackupStatusType' title: SdkCloudBackupStatus defines the status of a backup stored by a cloud provider type: object apiSdkCloudBackupStatusRequest: properties: local: title: 'Local indicates if only those backups/restores that are active on current node must be returned' type: boolean near_sync_migrate: title: Indicates if this is for nearsync migration type: boolean task_id: description: 'TaskId of the backup/restore task, if this is specified, volume_id is ignored.' type: string volume_id: description: '(optional) VolumeId is a value which is used to get information on the status of a backup for the specified volume. If no volume id and task_id is provided, then status for all volumes is returned.' type: string title: 'Defines a request to retrieve the status of a backup or restore for a specified volume' type: object apiSdkCloudBackupStatusResponse: properties: statuses: additionalProperties: $ref: '#/components/schemas/apiSdkCloudBackupStatus' description: 'Statuses is list of currently active/failed/done backup/restores where the key is the id of the task performing backup/restore.' type: object title: Defines a response containing the status of the backups for a specified volume type: object apiSdkCloudBackupStatusType: default: SdkCloudBackupStatusTypeUnknown description: "- SdkCloudBackupStatusTypeUnknown: Unknown\n - SdkCloudBackupStatusTypeNotStarted:\ \ Not started\n - SdkCloudBackupStatusTypeDone: Done\n - SdkCloudBackupStatusTypeAborted:\ \ Aborted\n - SdkCloudBackupStatusTypePaused: Paused\n - SdkCloudBackupStatusTypeStopped:\ \ Stopped\n - SdkCloudBackupStatusTypeActive: Active\n - SdkCloudBackupStatusTypeFailed:\ \ Failed\n - SdkCloudBackupStatusTypeQueued: Queued\n - SdkCloudBackupStatusTypeInvalid:\ \ Invalid, used by enumerate, includes failed,\nstopped and aborted\n - SdkNearSyncStatusTypeNotStarted:\ \ Near sync\nNot started\n - SdkNearSyncStatusTypeDone: Done\n - SdkNearSyncStatusTypePaused:\ \ Paused\n - SdkNearSyncStatusTypeStopped: Stopped\n - SdkNearSyncStatusTypeActive:\ \ Active\n - SdkNearSyncStatusTypeFailed: Failed\n - SdkNearSyncStatusTypeInvalid:\ \ Invalid" enum: - SdkCloudBackupStatusTypeUnknown - SdkCloudBackupStatusTypeNotStarted - SdkCloudBackupStatusTypeDone - SdkCloudBackupStatusTypeAborted - SdkCloudBackupStatusTypePaused - SdkCloudBackupStatusTypeStopped - SdkCloudBackupStatusTypeActive - SdkCloudBackupStatusTypeFailed - SdkCloudBackupStatusTypeQueued - SdkCloudBackupStatusTypeInvalid - SdkNearSyncStatusTypeNotStarted - SdkNearSyncStatusTypeDone - SdkNearSyncStatusTypePaused - SdkNearSyncStatusTypeStopped - SdkNearSyncStatusTypeActive - SdkNearSyncStatusTypeFailed - SdkNearSyncStatusTypeInvalid title: CloudBackup status types type: string apiSdkCloudMigrateCancelRequest: properties: request: $ref: '#/components/schemas/apiCloudMigrateCancelRequest' title: Defines a request to stop a cloud migration type: object apiSdkCloudMigrateCancelResponse: title: Empty Response type: object apiSdkCloudMigrateStartRequest: properties: all_volumes: $ref: '#/components/schemas/SdkCloudMigrateStartRequestMigrateAllVolumes' cluster_id: title: ID of the cluster to which volumes are to be migrated type: string task_id: title: 'Unique name assocaiated with this migration. This is a Optional field for idempotency' type: string volume: $ref: '#/components/schemas/SdkCloudMigrateStartRequestMigrateVolume' volume_group: $ref: '#/components/schemas/SdkCloudMigrateStartRequestMigrateVolumeGroup' title: Defines a migration request type: object apiSdkCloudMigrateStartResponse: properties: result: $ref: '#/components/schemas/apiCloudMigrateStartResponse' title: Defines a response for the migration that was started type: object apiSdkCloudMigrateStatusResponse: properties: result: $ref: '#/components/schemas/apiCloudMigrateStatusResponse' title: Defines a response for the status request type: object apiSdkClusterDomainActivateResponse: title: Empty response type: object apiSdkClusterDomainDeactivateResponse: title: Empty response type: object apiSdkClusterDomainInspectResponse: properties: cluster_domain_name: title: Name of the cluster domain type: string is_active: title: IsActive indicates whether this cluster domain is active type: boolean title: Defines a response to inspecting a cluster domain type: object apiSdkClusterDomainsEnumerateResponse: properties: cluster_domain_names: items: type: string title: List of names of all the cluster domains in a cluster type: array title: Defines a response when enumerating cluster domains type: object apiSdkClusterInspectCurrentResponse: properties: cluster: $ref: '#/components/schemas/apiStorageCluster' title: Defines a response when inspecting the current cluster type: object apiSdkClusterPairCreateRequest: properties: request: $ref: '#/components/schemas/apiClusterPairCreateRequest' title: Defines a request for creating a cluster pair type: object apiSdkClusterPairCreateResponse: properties: result: $ref: '#/components/schemas/apiClusterPairCreateResponse' title: Defines a result of the cluster pair type: object apiSdkClusterPairDeleteResponse: title: Empty response type: object apiSdkClusterPairEnumerateResponse: properties: result: $ref: '#/components/schemas/apiClusterPairsEnumerateResponse' title: Defines a list of cluster pair type: object apiSdkClusterPairGetTokenResponse: properties: result: $ref: '#/components/schemas/apiClusterPairTokenGetResponse' title: Defines a response for the token request type: object apiSdkClusterPairInspectResponse: properties: result: $ref: '#/components/schemas/apiClusterPairGetResponse' title: Defines a cluster pair inspect response type: object apiSdkClusterPairResetTokenRequest: title: Empty request type: object apiSdkClusterPairResetTokenResponse: properties: result: $ref: '#/components/schemas/apiClusterPairTokenGetResponse' title: Defines a response for the token request type: object apiSdkCreateDefragScheduleRequest: properties: defrag_task: $ref: '#/components/schemas/apiDefragJob' start_time: title: "StartTime is the scheduled time to start a run\nValid formats: \n\ daily=HH:mm e.g. daily=19:15\nweekly=weekday@HH:mm e.g. weekly=Sunday@19:15\n\ monthly=dd@HH:mm e.g. monthly=22@19:15" type: string title: Defines a request to create a defrag schedule type: object apiSdkCreateDefragScheduleResponse: properties: schedule: $ref: '#/components/schemas/apiSchedule' title: Defines a response of defrag schedule creation type: object apiSdkCreateRebalanceScheduleResponse: properties: scheduleInfo: $ref: '#/components/schemas/apiRebalanceScheduleInfo' type: object apiSdkCredentialCreateRequest: properties: aws_credential: $ref: '#/components/schemas/apiSdkAwsCredentialRequest' azure_credential: $ref: '#/components/schemas/apiSdkAzureCredentialRequest' bucket: title: (optional) Name of bucket type: string encryption_key: title: (optional) Key used to encrypt the data type: string google_credential: $ref: '#/components/schemas/apiSdkGoogleCredentialRequest' iam_policy: title: iamPolicy indicates if IAM creds must be used for access type: boolean name: title: Name of the credential type: string nfs_credential: $ref: '#/components/schemas/apiSdkNfsCredentialRequest' ownership: $ref: '#/components/schemas/apiOwnership' s3_storage_class: title: s3StorageClass for object puts, empty indicates default STANDARD type: string use_proxy: title: use_proxy indicates if a proxy must be used type: boolean title: Defines a request to create credentials type: object apiSdkCredentialCreateResponse: properties: credential_id: title: Id of the credentials type: string title: Defines a response from creating a credential type: object apiSdkCredentialDeleteReferencesResponse: title: Empty response type: object apiSdkCredentialDeleteResponse: title: Empty response type: object apiSdkCredentialEnumerateResponse: properties: credential_ids: items: type: string title: List of credentials type: array title: Defines response for a enumeration of credentials type: object apiSdkCredentialInspectResponse: description: 'Defines the response to an inspection of a credential. This response uses OneOf proto style. Depending on your programming language you will need to check if the value of credential_type is one of the ones below.' properties: aws_credential: $ref: '#/components/schemas/apiSdkAwsCredentialResponse' azure_credential: $ref: '#/components/schemas/apiSdkAzureCredentialResponse' bucket: title: (optional) Name of bucket type: string credential_id: title: Credential id type: string google_credential: $ref: '#/components/schemas/apiSdkGoogleCredentialResponse' iam_policy: title: iamPolicy indicates if IAM creds must be used for access type: boolean name: title: Name of the credential type: string nfs_credential: $ref: '#/components/schemas/apiSdkNfsCredentialResponse' ownership: $ref: '#/components/schemas/apiOwnership' use_proxy: title: proxy flag for the credential type: boolean type: object apiSdkCredentialUpdateRequest: properties: credential_id: type: string update_req: $ref: '#/components/schemas/apiSdkCredentialCreateRequest' title: Defines request for credential update type: object apiSdkCredentialUpdateResponse: title: Defines response for credential update type: object apiSdkCredentialValidateResponse: title: Empty response type: object apiSdkDeleteRebalanceScheduleResponse: type: object apiSdkDeleteScheduleResponse: title: Empty response type: object apiSdkDiagsCollectRequest: properties: filename: description: Filename is an optional flag only to be used for testing purposes. type: string issuer: title: Issuer is an optional user friendly name for the caller invoking the API type: string live: title: Live is an optional flag if true will collect live cores from running processes of the driver type: boolean node: $ref: '#/components/schemas/apiDiagsNodeSelector' profile_only: title: 'ProfileOnly is an optional flag if true will only collect the stack and heap profile of the driver and will skip other diag components' type: boolean timeout_mins: format: int64 title: 'TimeoutMins is the timeout in minutes for the job. This is an optional field and if not provided, the implementation of the SDK will use a sane default' type: string volume: $ref: '#/components/schemas/apiDiagsVolumeSelector' title: 'SdkDiagsCollectRequest is the request object that specifies what should be part of the diags that are collected User can specify both Node and Volume or just one of them. If both are provided, the implementation will select nodes based on both and also handle overlaps' type: object apiSdkDiagsCollectResponse: properties: job: $ref: '#/components/schemas/apiJob' title: SdkDiagsCollectResponse defines a response for an SDK request to collect diags type: object apiSdkEnumerateDefragStatusResponse: properties: status: additionalProperties: $ref: '#/components/schemas/apiSdkGetDefragNodeStatusResponse' title: Status is a map with node uuid as the key and defrag node status as the value type: object title: Defines a response of defrag status of the entire cluster type: object apiSdkEnumerateJobsResponse: properties: jobs: items: $ref: '#/components/schemas/apiJob' title: Jobs is the list of jobs in the response type: array title: Defines a response will all the known jobs type: object apiSdkEnumerateRebalanceJobsResponse: properties: jobs: items: $ref: '#/components/schemas/apiStorageRebalanceJob' title: Jobs is the list of rebalance jobs in the response type: array type: object apiSdkEnumerateSchedulesResponse: properties: schedules: items: $ref: '#/components/schemas/apiSchedule' type: array title: Defines a response containing list of schedules type: object apiSdkFilesystemCheckDeleteSnapshotsRequest: properties: node_id: title: Node Id filter type: string volume_id: title: Id of the volume type: string title: 'SdkFilesystemCheckDeleteSnapshotsRequest defines a request to delete snapshots created by fsck for a volume' type: object apiSdkFilesystemCheckDeleteSnapshotsResponse: title: 'SdkFilesystemCheckDeleteSnapshotsResponse defines a respone to delete snapshots created by fsck for a volume' type: object apiSdkFilesystemCheckListSnapshotsResponse: properties: snapshots: additionalProperties: $ref: '#/components/schemas/apiFilesystemCheckSnapInfo' title: Map of volume snapshot ids and snapshot info type: object title: 'SdkFilesystemCheckListSnapshotsResponse defines a response to list snapshots created by fsck for a volume' type: object apiSdkFilesystemCheckListVolumesResponse: properties: volumes: additionalProperties: $ref: '#/components/schemas/apiFilesystemCheckVolInfo' title: Map of volume ids and volume info type: object title: 'SdkFilesystemCheckListVolumesResponse defines a response to list all volumes needing fsck check/fix' type: object apiSdkFilesystemCheckStartRequest: properties: mode: title: Mode of operation type: string volume_id: title: Id of the volume type: string title: 'SdkFilesystemCheckStartRequest defines a request to start a background filesystem consistency check operation' type: object apiSdkFilesystemCheckStartResponse: description: 'SdkFilesystemCheckStartResponse defines the response for a SdkFilesystemCheckStartRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string status: $ref: '#/components/schemas/FilesystemCheckFilesystemCheckStatus' type: object apiSdkFilesystemCheckStatusResponse: description: 'SdkFilesystemCheckStatusResponse defines the response for a SdkFilesystemCheckStatusRequest.' properties: health_status: $ref: '#/components/schemas/apiFilesystemHealthStatus' message: title: Text blob containing ASCII text providing details of the operation type: string mode: title: Text string representing the mode of filesystem check operation type: string status: $ref: '#/components/schemas/FilesystemCheckFilesystemCheckStatus' type: object apiSdkFilesystemCheckStopRequest: properties: volume_id: title: Id of the volume type: string title: 'SdkFilesystemCheckStopRequest defines a request to stop a background filesystem check operation' type: object apiSdkFilesystemCheckStopResponse: title: Empty response type: object apiSdkFilesystemTrimStartRequest: properties: mount_path: title: Path where the volume is mounted type: string volume_id: title: Id of the volume type: string title: SdkFilesystemTrimStartRequest defines a request to start a background filesystem trim operation type: object apiSdkFilesystemTrimStartResponse: description: 'SdkFilesystemTrimStartResponse defines the response for a SdkFilesystemTrimStartRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string status: $ref: '#/components/schemas/FilesystemTrimFilesystemTrimStatus' type: object apiSdkFilesystemTrimStatusResponse: description: 'SdkFilesystemTrimStatusResponse defines the response for a SdkFilesystemTrimStatusRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string status: $ref: '#/components/schemas/FilesystemTrimFilesystemTrimStatus' type: object apiSdkFilesystemTrimStopRequest: properties: mount_path: title: Path where the volume is mounted type: string volume_id: title: Id of the volume type: string title: 'SdkFilesystemTrimStopRequest defines a request to stop a background filesystem trim operation' type: object apiSdkFilesystemTrimStopResponse: title: Empty response type: object apiSdkGetDefragNodeStatusResponse: properties: data_ip: title: DataIp is the IP address of this node type: string defrag_node_status: $ref: '#/components/schemas/apiDefragNodeStatus' pool_usage: additionalProperties: format: int64 type: integer title: PoolUsage is a map with pool UUID as the key and pool usage percentage as the value type: object scheduler_node_name: title: SchedulerNodeName is name of the node in scheduler context type: string title: Defines a response of defrag node status type: object apiSdkGetJobStatusResponse: properties: job: $ref: '#/components/schemas/apiJob' summary: $ref: '#/components/schemas/apiJobSummary' title: Defines the status of an existing job type: object apiSdkGetRebalanceJobStatusResponse: properties: actions: items: $ref: '#/components/schemas/apiStorageRebalanceAudit' title: Actions describe all the actions taken during this rebalance type: array job: $ref: '#/components/schemas/apiStorageRebalanceJob' summary: $ref: '#/components/schemas/apiStorageRebalanceSummary' type: object apiSdkGetRebalanceScheduleResponse: properties: scheduleInfo: $ref: '#/components/schemas/apiRebalanceScheduleInfo' type: object apiSdkGoogleCredentialRequest: properties: json_key: title: JSON Key type: string project_id: title: Project ID type: string title: Defines credentials for Google type: object apiSdkGoogleCredentialResponse: properties: project_id: title: Project ID type: string title: Defines the response for Google credentials type: object apiSdkIdentityCapabilitiesResponse: properties: capabilities: items: $ref: '#/components/schemas/apiSdkServiceCapability' title: Provides all the capabilities supported by the cluster type: array title: Defines a response containing the capabilities of the cluster type: object apiSdkIdentityVersionResponse: properties: sdk_version: $ref: '#/components/schemas/apiSdkVersion' version: $ref: '#/components/schemas/apiStorageVersion' title: Defines a response containing version information type: object apiSdkInspectScheduleResponse: properties: schedule: $ref: '#/components/schemas/apiSchedule' title: Defines a response of schedule information type: object apiSdkJobResponse: properties: job: $ref: '#/components/schemas/apiJob' title: 'Defines a response for an SDK request that spins up a new job to perform the request' type: object apiSdkNfsCredentialRequest: properties: mount_opts: title: mount options for nfs mount type: string server: title: NFS Server address type: string sub_path: title: NFS export path type: string timeout_seconds: format: int64 title: timeout for nfs IO in seconds type: integer title: Defines credentials for NFS type: object apiSdkNfsCredentialResponse: properties: mount_opts: title: mount options ( "," separated) type: string server: title: NFS Server Address type: string sub_path: title: NFS export path type: string timeout_seconds: format: int64 title: timeout in seconds type: integer title: Defines the response for NFS credential type: object apiSdkNodeCordonAttachmentsRequest: properties: node_id: title: Node ID on which any further volume attachments will be disabled type: string title: 'SdkNodeCordonAttachmentsRequest request for disabling new volume attachments from a node' type: object apiSdkNodeCordonAttachmentsResponse: title: 'SdkNodeCordonAttachmentsRespinse response for disabling new volume attachments from a node' type: object apiSdkNodeDrainAttachmentsRequest: properties: issuer: title: 'Issuer is a user friendly name for the caller who is invoking the API. It can be used by caller to filter out drain requests from a particular issuer' type: string node_id: title: Id of the node to drain type: string only_sharedv4: description: 'Drain only sharedv4 volumes from a node By default all volumes will be drained.' type: boolean selector: description: 'Selector is used for selecting volumes whose attachment needs to be moved from this node. The selector could be a list of volume label key value pairs to select a subset of volumes.' items: $ref: '#/components/schemas/apiLabelSelectorRequirement' type: array title: Defines a node drain volume attachments request type: object apiSdkNodeEnumerateResponse: properties: node_ids: items: type: string title: List of all the node ids in the cluster type: array title: Defines a response with a list of node ids type: object apiSdkNodeEnumerateWithFiltersResponse: properties: nodes: items: $ref: '#/components/schemas/apiStorageNode' title: List of all the nodes in the cluster type: array title: Defines a response with a list of nodes type: object apiSdkNodeInspectCurrentResponse: properties: node: $ref: '#/components/schemas/apiStorageNode' title: Defines a response when inspecting a node type: object apiSdkNodeInspectResponse: properties: node: $ref: '#/components/schemas/apiStorageNode' title: Defines a response when inspecting a node type: object apiSdkNodeRelaxedReclaimPurgeResponse: properties: status: $ref: '#/components/schemas/apiRelaxedReclaimPurge' title: Defines response containing status of the trigger type: object apiSdkNodeUncordonAttachmentsRequest: properties: node_id: title: Node ID on which any further volume attachments will be enabled type: string title: 'SdkNodeUncordonAttachmentsRequest request for re-enabling volume attachments for a node' type: object apiSdkNodeUncordonAttachmentsResponse: title: 'SdkNodeUncordonAttachmentsRespinse response for enabling new volume attachments from a node' type: object apiSdkNodeVolumeUsageByNodeResponse: properties: volume_usage_info: $ref: '#/components/schemas/apiVolumeUsageByNode' title: Defines response containing Node's volumes/snapshot capacity usage details type: object apiSdkObjectstoreCreateRequest: properties: volume_id: title: Volume on which objectstore will be running type: string title: Defines a request to create an object store type: object apiSdkObjectstoreCreateResponse: properties: objectstore_status: $ref: '#/components/schemas/apiObjectstoreInfo' title: 'Defines a response when an object store has been created for a specified volume' type: object apiSdkObjectstoreDeleteResponse: title: Empty response type: object apiSdkObjectstoreInspectResponse: properties: objectstore_status: $ref: '#/components/schemas/apiObjectstoreInfo' title: Defines a response when inspecting an object store endpoint type: object apiSdkObjectstoreUpdateRequest: properties: enable: title: enable/disable objectstore type: boolean objectstore_id: title: Objectstore Id to update type: string title: Defines a request to update an object store type: object apiSdkObjectstoreUpdateResponse: title: Empty response type: object apiSdkOpenStoragePolicyCreateRequest: properties: storage_policy: $ref: '#/components/schemas/apiSdkStoragePolicy' title: Define a request to create storage policy type: object apiSdkOpenStoragePolicyCreateResponse: title: Empty response type: object apiSdkOpenStoragePolicyDefaultInspectResponse: properties: storage_policy: $ref: '#/components/schemas/apiSdkStoragePolicy' title: Define default storage policy response type: object apiSdkOpenStoragePolicyDeleteResponse: title: Empty Response type: object apiSdkOpenStoragePolicyEnumerateResponse: properties: storage_policies: items: $ref: '#/components/schemas/apiSdkStoragePolicy' title: List of storage policies type: array title: Define a storage policy enumerate response type: object apiSdkOpenStoragePolicyInspectResponse: properties: storage_policy: $ref: '#/components/schemas/apiSdkStoragePolicy' title: Define a storage policy inspect response type: object apiSdkOpenStoragePolicyReleaseRequest: title: Empty Request type: object apiSdkOpenStoragePolicyReleaseResponse: title: Empty Response type: object apiSdkOpenStoragePolicySetDefaultRequest: properties: name: title: 'name of policy to set as default storage policy for volume creation This policy will be used to validate/update volume configuration' type: string title: Define a request to set default storage policy type: object apiSdkOpenStoragePolicySetDefaultResponse: title: Empty Response type: object apiSdkOpenStoragePolicyUpdateRequest: properties: storage_policy: $ref: '#/components/schemas/apiSdkStoragePolicy' title: Define a request to update storage policy type: object apiSdkOpenStoragePolicyUpdateResponse: title: Empty Response type: object apiSdkRole: properties: name: type: string rules: items: $ref: '#/components/schemas/apiSdkRule' type: array type: object apiSdkRoleCreateRequest: properties: role: $ref: '#/components/schemas/apiSdkRole' title: Defines a request for creating a role type: object apiSdkRoleCreateResponse: properties: role: $ref: '#/components/schemas/apiSdkRole' title: Response contains informaiton about the creation of the role type: object apiSdkRoleDeleteResponse: title: Empty response type: object apiSdkRoleEnumerateResponse: properties: names: items: type: string title: List of role names type: array title: Respose to enumerate all roles type: object apiSdkRoleInspectResponse: properties: role: $ref: '#/components/schemas/apiSdkRole' title: Response to inspection request type: object apiSdkRoleUpdateRequest: properties: role: $ref: '#/components/schemas/apiSdkRole' title: Defines a request to update an existing role type: object apiSdkRoleUpdateResponse: properties: role: $ref: '#/components/schemas/apiSdkRole' title: Response contains information about the updated role type: object apiSdkRule: description: "SdkRule is the message used to construct custom roles in the OpenStorage\ \ SDK.\n\n### Format\nThe following shows the supported format for SdkRule:\n\ \n* Services: Is the gRPC service name in `OpenStorage` in lowercase\n\ * Apis: Is the API name in the service in lowercase\n\nValues can also be\ \ set to `*`, or start or end with `*` to allow multiple matches in services\ \ or apis.\n\nServices and APIs can also be denied by prefixing the value\ \ with a `!`. Note that on rule conflicts,\ndenial will always be chosen.\n\ \n### Examples\n\n* Allow any call:\n\n```yaml\nSdkRule:\n - Services: [\"\ *\"]\n Apis: [\"*\"]\n```\n\n* Allow only cluster operations:\n\n```yaml\n\ SdkRule:\n - services: [\"cluster\"]\n apis: [\"*\"]\n```\n\n* Allow inspection\ \ of any object and listings of only volumes\n\n```yaml\nSdkRule:\n - Services:\ \ [\"volumes\"]\n Apis: [\"*enumerate*\"]\n - Services: [\"*\"]\n Apis:\ \ [\"inspect*\"]\n```\n\n* Allow all volume call except create\n\n```yaml\n\ SdkRule:\n - Services: [\"volumes\"]\n Apis: [\"*\", \"!create\"]\n```" properties: apis: items: type: string title: The API name in the service in lowercase type: array services: items: type: string title: The gRPC service name in `OpenStorage` in lowercase type: array type: object apiSdkSchedulePolicy: properties: name: title: Name of the schedule policy type: string schedules: items: $ref: '#/components/schemas/apiSdkSchedulePolicyInterval' title: Schedule policies type: array title: Defines a schedule policy type: object apiSdkSchedulePolicyCreateRequest: properties: schedule_policy: $ref: '#/components/schemas/apiSdkSchedulePolicy' title: Define a schedule policy request type: object apiSdkSchedulePolicyCreateResponse: title: Empty response type: object apiSdkSchedulePolicyDeleteResponse: title: Empty response type: object apiSdkSchedulePolicyEnumerateResponse: properties: policies: items: $ref: '#/components/schemas/apiSdkSchedulePolicy' title: List of Schedule Policy type: array title: Defines a schedule policy enumerate response type: object apiSdkSchedulePolicyInspectResponse: properties: policy: $ref: '#/components/schemas/apiSdkSchedulePolicy' title: Defines a schedule policy inspection response type: object apiSdkSchedulePolicyInterval: properties: daily: $ref: '#/components/schemas/apiSdkSchedulePolicyIntervalDaily' monthly: $ref: '#/components/schemas/apiSdkSchedulePolicyIntervalMonthly' periodic: $ref: '#/components/schemas/apiSdkSchedulePolicyIntervalPeriodic' retain: format: int64 title: Number of instances to retain type: string weekly: $ref: '#/components/schemas/apiSdkSchedulePolicyIntervalWeekly' title: Defines a schedule policy interval type: object apiSdkSchedulePolicyIntervalDaily: properties: hour: format: int32 title: 'Range: 0-23' type: integer minute: format: int32 title: 'Range: 0-59' type: integer title: Defines a daily schedule type: object apiSdkSchedulePolicyIntervalMonthly: properties: day: format: int32 title: 'Range: 1-28' type: integer hour: format: int32 title: 'Range: 0-59' type: integer minute: format: int32 title: 'Range: 0-59' type: integer title: Defines a monthly schedule type: object apiSdkSchedulePolicyIntervalPeriodic: properties: seconds: format: int64 title: Specify the number of seconds between intervals type: string title: Defines a periodic schedule type: object apiSdkSchedulePolicyIntervalWeekly: properties: day: $ref: '#/components/schemas/apiSdkTimeWeekday' hour: format: int32 title: 'Range: 0-23' type: integer minute: format: int32 title: 'Range: 0-59' type: integer title: Defines a weekly schedule type: object apiSdkSchedulePolicyUpdateRequest: properties: schedule_policy: $ref: '#/components/schemas/apiSdkSchedulePolicy' title: Define a request to update a schedule policy type: object apiSdkSchedulePolicyUpdateResponse: title: Empty response type: object apiSdkServiceCapability: properties: service: $ref: '#/components/schemas/SdkServiceCapabilityOpenStorageService' title: Defines a capability of he cluster type: object apiSdkStoragePolicy: properties: allow_update: title: 'If set a volume can be updated without storage Policy restriction, otherwise volume update will be followed as per storage policy specification' type: boolean force: title: 'Force if set to true volume specs will be overwritten, otherwise volume creation will fail if the volume specifications are not inline with storage policy' type: boolean name: description: Name of storage policy. type: string ownership: $ref: '#/components/schemas/apiOwnership' policy: $ref: '#/components/schemas/apiVolumeSpecPolicy' title: 'A SdkStoragePolicy represents minimum set of volume specs to be follow while creating volumes. If storage policy is set default in OpenStoragePolicy service, VolumeSpecPolicy will be used before creating volume to validate volume specs or ensure minimum volume creation rules followed' type: object apiSdkStoragePoolOperationType: default: OPERATION_RESIZE description: '- OPERATION_RESIZE: Resize operation' enum: - OPERATION_RESIZE title: OperationType defines the various operations that are performed on a storage pool type: string apiSdkStoragePoolResizeResponse: title: Defines a response when resizing a storage pool type: object apiSdkStorageRebalanceRequest: properties: max_duration_minutes: format: uint64 title: 'MaxDurationMinutes defines how long operation should run when started at schedule. 0 values means no limit on duration' type: string mode: $ref: '#/components/schemas/apiSdkStorageRebalanceRequestMode' remove_repl_1_snapshots: title: RemoveRepl1Snapshots if true will instruct rebalance job to remove repl-1 snapshots type: boolean source_pool_selector: items: $ref: '#/components/schemas/apiLabelSelectorRequirement' title: SourcePoolSelector allows selecting pools to which trigger thresholds will apply as source type: array target_pool_selector: items: $ref: '#/components/schemas/apiLabelSelectorRequirement' title: TargetPoolSelector allows selecting pools to which trigger thresholds will apply as target type: array trial_run: title: TrialRun if true the job only produces steps that would be taken without making any changes type: boolean trigger_thresholds: description: 'TriggerThresholds defines thresholds that would trigger rebalance. For example, TriggerThreshold{ThresholdTypeAbsolutePercent, MetricTypeUsedSpace, 75, 10} would trigger rebalance on pools where used space is more than 75% or less than 10%. Similarly, TriggerThreshold{ThresholdTypeDeltaMeanPercent, MetricTypeUsedSpace, 15, 25} will trigger rebalance for pools where used space is more than 15% from the mean percent for used space for the entire cluster or less than 25% from the mean percent for used space for the entire cluster.' items: $ref: '#/components/schemas/apiStorageRebalanceTriggerThreshold' type: array type: object apiSdkStorageRebalanceRequestMode: default: STORAGE_REBALANCE description: "- STORAGE_REBALANCE: StorageRebalance mode: rebalance pools based\ \ on provisioned/used space (the default mode)\n - VOLUME_PLACEMENT_FIX: VolumePlacementFix\ \ mode: scan all volumes for incorrect placement and fix them\n - POOL_DRAIN:\ \ PoolDrain mode: drain all volumes & snapshots on the source pools (optionally\ \ to target pools)" enum: - STORAGE_REBALANCE - VOLUME_PLACEMENT_FIX - POOL_DRAIN title: Mode is an enum that defines the mode of the volume reorg job type: string apiSdkStorageRebalanceResponse: properties: actions: items: $ref: '#/components/schemas/apiStorageRebalanceAudit' title: Actions describe all the actions taken during this rebalance type: array job: $ref: '#/components/schemas/apiStorageRebalanceJob' summary: $ref: '#/components/schemas/apiStorageRebalanceSummary' title: SdkStorageRebalanceResponse is the response to a storage rebalance request type: object apiSdkTimeWeekday: default: SdkTimeWeekdaySunday description: "- SdkTimeWeekdaySunday: Sunday\n - SdkTimeWeekdayMonday: Monday\n\ \ - SdkTimeWeekdayTuesday: Tuesday\n - SdkTimeWeekdayWednesday: Wednesday\n\ \ - SdkTimeWeekdayThursday: Thursday\n - SdkTimeWeekdayFriday: Friday\n -\ \ SdkTimeWeekdaySaturday: Saturday" enum: - SdkTimeWeekdaySunday - SdkTimeWeekdayMonday - SdkTimeWeekdayTuesday - SdkTimeWeekdayWednesday - SdkTimeWeekdayThursday - SdkTimeWeekdayFriday - SdkTimeWeekdaySaturday title: Defines times of day type: string apiSdkUpdateJobRequest: properties: id: title: ID of the job type: string state: $ref: '#/components/schemas/apiJobState' type: $ref: '#/components/schemas/apiJobType' title: Defines a request to update an existing job type: object apiSdkUpdateJobResponse: title: Defines the response for an update to an existing job type: object apiSdkUpdateRebalanceJobResponse: type: object apiSdkVerifyChecksumStartRequest: properties: resume_from_saved_offset: type: boolean volume_id: title: Id of the volume type: string title: SdkVerifyChecksumStartRequest defines a request to start a background verify checksum operation type: object apiSdkVerifyChecksumStartResponse: description: 'SdkVerifyChecksumStartResponse defines the response for a SdkVerifyChecksumStartRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string status: $ref: '#/components/schemas/VerifyChecksumVerifyChecksumStatus' type: object apiSdkVerifyChecksumStatusResponse: description: 'SdkVerifyChecksumStatusResponse defines the response for a SdkVerifyChecksumStatusRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string status: $ref: '#/components/schemas/VerifyChecksumVerifyChecksumStatus' type: object apiSdkVerifyChecksumStopRequest: properties: volume_id: title: Id of the volume type: string title: 'SdkVerifyChecksumStopRequest defines a request to stop a background filesystem check operation' type: object apiSdkVerifyChecksumStopResponse: description: 'SdkVerifyChecksumStopResponse defines the response for a SdkVerifyChecksumStopRequest.' properties: message: title: Text blob containing ASCII text providing details of the operation type: string type: object apiSdkVersion: description: 'SDK version in Major.Minor.Patch format. The goal of this message is to provide clients a method to determine the SDK version run by an SDK server.' properties: major: format: int32 title: SDK version major number type: integer minor: format: int32 title: SDK version minor number type: integer patch: format: int32 title: SDK version patch number type: integer version: description: 'String representation of the SDK version. Must be in `major.minor.patch` format.' type: string type: object apiSdkVolumeAttachOptions: properties: fastpath: title: Indicates whether fastpath needs to be enabled during attach type: string secret_context: description: 'It indicates the additional context which could be used to retrieve the secret. In case of Kubernetes, this is the namespace in which the secret is created.' type: string secret_key: title: In case of Kubernetes, this will be the key stored in the Kubernetes secret type: string secret_name: title: 'Indicates the name of the secret stored in a secret store In case of Hashicorp''s Vault, it will be the key from the key-value pair stored in its kv backend. In case of Kubernetes secret, it is the name of the secret object itself' type: string title: Options to attach device type: object apiSdkVolumeAttachRequest: properties: driver_options: additionalProperties: type: string description: 'The following options are private to the driver plugin running the OpenStorage SDK. Contact your driver developer for any special values that need to be provided here.' type: object options: $ref: '#/components/schemas/apiSdkVolumeAttachOptions' volume_id: title: Id of volume type: string title: Defines a request to attach a volume to the node receiving this request type: object apiSdkVolumeAttachResponse: properties: device_path: title: Device path where device is exported type: string title: Defines a response from the node which received the request to attach type: object apiSdkVolumeBytesUsedRequest: properties: ids: items: format: uint64 type: string title: volume ids to be found in usage response, can be empty type: array node_id: title: machine uuid of targeted node type: string title: 'SdkVolumeBytesUsedRequest defines a request for fetching per volume utilization from multiple volume in a given node' type: object apiSdkVolumeBytesUsedResponse: properties: vol_util_info: $ref: '#/components/schemas/apiVolumeBytesUsedByNode' title: SdkVolumeBytesUsedResponse defines a response to fetch multiple volume util from a given node type: object apiSdkVolumeCapacityUsageResponse: properties: capacity_usage_info: $ref: '#/components/schemas/apiCapacityUsageInfo' title: Defines response containing volume/snapshot capacity usage details type: object apiSdkVolumeCatalogRequest: properties: depth: title: Depth of folders/files retrieved (default is all of it, 1 would only return 1 layer) type: string path: title: Path which will be used as root (default is the actual root) type: string volume_id: description: VolumeId of the volume that is getting it's catalog retrieved. type: string title: Request message to get the volume catalog type: object apiSdkVolumeCatalogResponse: properties: catalog: $ref: '#/components/schemas/apiCatalogResponse' title: Response message to get volume catalog type: object apiSdkVolumeCloneRequest: properties: additional_labels: additionalProperties: type: string description: 'Additional labels to be appended after cloning the volume. Note that clone will issue a snapshot, which copies most labels except pvc and namespace. This map allows you to pass additional labels that are not part of the parent volume.' type: object name: description: Unique name of the volume. This will be used for idempotency. type: string parent_id: description: Parent volume id or snapshot id will create a new volume as a clone of the parent. type: string title: Defines a request to clone a volume or create a volume from a snapshot type: object apiSdkVolumeCloneResponse: properties: volume_id: title: Id of new volume type: string title: Defines the response when creating a clone from a volume or a snapshot type: object apiSdkVolumeCreateRequest: description: 'Defines a request to create a volume. Use OpenStorageVolume.Update() to update any labels on the volume.' properties: labels: additionalProperties: type: string title: Labels to apply to the volume type: object name: description: Unique name of the volume. This will be used for idempotency. type: string spec: $ref: '#/components/schemas/apiVolumeSpec' type: object apiSdkVolumeCreateResponse: properties: volume_id: title: Id of new volume type: string title: Defines a response to the creation of a volume type: object apiSdkVolumeDeleteResponse: title: Empty response type: object apiSdkVolumeDetachOptions: properties: force: title: Forcefully detach device from the kernel type: boolean redirect: title: redirect the request to the attached node type: boolean unmount_before_detach: title: Unmount the volume before detaching type: boolean type: object apiSdkVolumeDetachRequest: properties: driver_options: additionalProperties: type: string description: 'The following options are private to the driver plugin running the OpenStorage SDK. Contact your driver developer for any special values that need to be provided here.' type: object options: $ref: '#/components/schemas/apiSdkVolumeDetachOptions' volume_id: title: Id of the volume type: string title: Defines a request to detach a volume type: object apiSdkVolumeDetachResponse: title: Empty response type: object apiSdkVolumeEnumerateResponse: properties: volume_ids: items: type: string title: List of volumes matching label type: array title: Defines the response when listing volumes type: object apiSdkVolumeEnumerateWithFiltersRequest: properties: group: $ref: '#/components/schemas/apiGroup' labels: additionalProperties: type: string title: (optional) Labels to search type: object name: title: (optional) Name to search type: string ownership: $ref: '#/components/schemas/apiOwnership' title: Defines a request to list volumes type: object apiSdkVolumeEnumerateWithFiltersResponse: properties: volume_ids: items: type: string title: List of volumes matching label type: array title: Defines the response when listing volumes type: object apiSdkVolumeInspectResponse: properties: labels: additionalProperties: type: string title: Volume labels type: object name: title: Name of volume type: string volume: $ref: '#/components/schemas/apiVolume' title: Defines the response when inspecting a volume type: object apiSdkVolumeInspectWithFiltersRequest: properties: group: $ref: '#/components/schemas/apiGroup' labels: additionalProperties: type: string title: (optional) Labels to search type: object name: title: (optional) Name to search type: string options: $ref: '#/components/schemas/apiVolumeInspectOptions' ownership: $ref: '#/components/schemas/apiOwnership' title: Defines the request to inspect volumes using a filter type: object apiSdkVolumeInspectWithFiltersResponse: properties: volumes: items: $ref: '#/components/schemas/apiSdkVolumeInspectResponse' title: List of `SdkVolumeInspectResponse` objects describing the volumes type: array title: Defines the response when inspecting volumes using a filter type: object apiSdkVolumeMountRequest: properties: driver_options: additionalProperties: type: string description: 'The following options are private to the driver plugin running the OpenStorage SDK. Contact your driver developer for any special values that need to be provided here.' type: object mount_path: description: Mount path for mounting the volume. type: string options: $ref: '#/components/schemas/apiSdkVolumeAttachOptions' volume_id: title: Id of the volume type: string title: Defines a request to mount a volume to the node receiving this request type: object apiSdkVolumeMountResponse: title: Empty response type: object apiSdkVolumeSnapshotCreateRequest: description: Defines the request when creating a snapshot from a volume. properties: labels: additionalProperties: type: string title: Labels to apply to snapshot type: object name: description: Name of the snapshot. type: string volume_id: title: Id of volume to take the snapshot from type: string type: object apiSdkVolumeSnapshotCreateResponse: properties: snapshot_id: title: Id of immutable snapshot type: string title: Defines a response after creating a snapshot of a volume type: object apiSdkVolumeSnapshotEnumerateResponse: properties: volume_snapshot_ids: items: type: string title: List of immutable snapshots type: array title: Defines a response when listing snapshots type: object apiSdkVolumeSnapshotEnumerateWithFiltersRequest: properties: labels: additionalProperties: type: string title: (optional) Get snapshots that match these labels type: object volume_id: title: (optional) Get the snapshots for this volume id type: string title: Defines a request to list the snaphots type: object apiSdkVolumeSnapshotEnumerateWithFiltersResponse: properties: volume_snapshot_ids: items: type: string title: List of immutable snapshots type: array title: Defines a response when listing snapshots type: object apiSdkVolumeSnapshotRestoreRequest: properties: snapshot_id: title: Snapshot id to apply to `volume_id` type: string volume_id: title: Id of volume type: string title: Defines a request to restore a volume to a snapshot type: object apiSdkVolumeSnapshotRestoreResponse: title: Empty response type: object apiSdkVolumeSnapshotScheduleUpdateRequest: properties: snapshot_schedule_names: items: type: string title: Names of schedule policies type: array volume_id: title: Id of volume type: string title: Defines a request to update the snapshot schedule of a volume type: object apiSdkVolumeSnapshotScheduleUpdateResponse: title: Empty response type: object apiSdkVolumeStatsResponse: properties: stats: $ref: '#/components/schemas/apiStats' title: Defines a response containing drive statistics type: object apiSdkVolumeUnmountOptions: properties: delete_mount_path: title: Delete the mount path on the node after unmounting type: boolean no_delay_before_deleting_mount_path: description: 'Do not wait for a delay before deleting path. Normally a storage driver may delay before deleting the mount path, which may be necessary to reduce the risk of race conditions. This choice will remove that delay. This value is only usable when `delete_mount_path` is set.' type: boolean title: Options to unmount device type: object apiSdkVolumeUnmountRequest: properties: driver_options: additionalProperties: type: string description: 'The following options are private to the driver plugin running the OpenStorage SDK. Contact your driver developer for any special values that need to be provided here.' type: object mount_path: title: MountPath for device type: string options: $ref: '#/components/schemas/apiSdkVolumeUnmountOptions' volume_id: title: Id of volume type: string title: Defines a request to unmount a volume on the node receiving this request type: object apiSdkVolumeUnmountResponse: title: Empty response type: object apiSdkVolumeUpdateRequest: properties: labels: additionalProperties: type: string description: 'Change label values. Some of these values may not be able to be changed. New labels will be added to the current volume labels. To delete a label, set the value of the label to an empty string.' type: object spec: $ref: '#/components/schemas/apiVolumeSpecUpdate' volume_id: title: Id of the volume to update type: string title: This request is used to adjust or set new values in the volume type: object apiSdkVolumeUpdateResponse: title: Empty response type: object apiSdkVolumeWatchRequest: properties: labels: additionalProperties: type: string title: labels to filter out the volumes to watch on type: object title: 'Defines the request to watch an openstorage volume event for the given label if the label is empty, it returns all the volume events' type: object apiSdkVolumeWatchResponse: properties: name: title: Name of volume type: string volume: $ref: '#/components/schemas/apiVolume' title: Defines the response containing an volume with a state changed type: object apiSdkWatchRequest: properties: volume_event: $ref: '#/components/schemas/apiSdkVolumeWatchRequest' title: Defines the request to watch an openstorage event. An event can be a volume, a node, a disk, etc type: object apiSdkWatchResponse: properties: volume_event: $ref: '#/components/schemas/apiSdkVolumeWatchResponse' title: Defines the response to watch an openstorage event. An event can be a volume, a node, a disk, etc type: object apiSeverityType: default: SEVERITY_TYPE_NONE enum: - SEVERITY_TYPE_NONE - SEVERITY_TYPE_ALARM - SEVERITY_TYPE_WARNING - SEVERITY_TYPE_NOTIFY type: string apiSharedv4FailoverStrategyValue: default: UNSPECIFIED description: " - UNSPECIFIED: Unspecified\n - AGGRESSIVE: Fail over to the new\ \ NFS server quickly. This is appropriate for\nthe apps with sharedv4 service\ \ volumes. It can also be used\nfor the apps with sharedv4 volumes when such\ \ apps are able\nto restart quickly.\n - NORMAL: Give the old NFS server more\ \ time to come back up before\ntriggering the failover. This is appropriate\ \ for the apps\nwith sharedv4 volumes (non-service)." enum: - UNSPECIFIED - AGGRESSIVE - NORMAL type: string apiSharedv4ServiceSpec: description: 'Sharedv4ServiceSpec when set, creates a service endpoint for accessing a sharedv4 volume.' properties: external_access: title: Indicates whether the service needs to be accessed outside of the cluster type: boolean name: title: 'Name of the service. If not provided the name of the volume will be used for setting up a service' type: string type: $ref: '#/components/schemas/Sharedv4ServiceSpecServiceType' type: object apiSharedv4Spec: properties: failover_strategy: $ref: '#/components/schemas/apiSharedv4FailoverStrategyValue' title: Sharedv4Spec specifies common properties of sharedv4 and sharedv4 service volumes type: object apiSource: description: 'Source is a structure that can be given to a volume to seed the volume with data.' properties: parent: description: A volume id, if specified will create a clone of the parent. type: string seed: title: 'Seed will seed the volume from the specified URI Any additional config for the source comes from the labels in the spec' type: string type: object apiStats: properties: bytes_used: format: uint64 title: BytesUsed type: string discard_bytes: format: uint64 title: Number of bytes discarded type: string discard_ms: format: uint64 title: Time spent in discards in ms type: string discards: format: uint64 title: Discards completed successfully type: string interval_ms: format: uint64 title: Interval in ms during which stats were collected type: string io_ms: format: uint64 title: Time spent doing IOs ms type: string io_progress: format: uint64 title: IOs curently in progress type: string read_bytes: format: uint64 title: Number of bytes read type: string read_ms: format: uint64 title: Time spent in reads in ms type: string reads: format: uint64 title: Reads completed successfully type: string unique_blocks: format: uint64 title: Unique Blocks type: string write_bytes: format: uint64 title: Number of bytes written type: string write_ms: format: uint64 title: Time spent in writes in ms type: string writes: format: uint64 title: Writes completed successfully type: string title: Stats is a structure that represents last collected stats for a volume type: object apiStorageCluster: properties: id: title: Id of the cluster type: string name: title: Name of the cluster type: string status: $ref: '#/components/schemas/openstorageapiStatus' title: StorageCluster represents the state and information about the cluster type: object apiStorageMedium: default: STORAGE_MEDIUM_MAGNETIC enum: - STORAGE_MEDIUM_MAGNETIC - STORAGE_MEDIUM_SSD - STORAGE_MEDIUM_NVME title: "- STORAGE_MEDIUM_MAGNETIC: Magnetic spinning disk.\n - STORAGE_MEDIUM_SSD:\ \ SSD disk\n - STORAGE_MEDIUM_NVME: NVME disk" type: string apiStorageNode: properties: HWType: $ref: '#/components/schemas/apiHardwareType' avg_load: format: int64 title: Average load (percentage) type: string cluster_domain: description: Name of the cluster domain where the node belongs. type: string cpu: format: double title: Cpu usage of the node type: number cpu_cores: format: int64 title: Number of Cpu Cores type: string data_ip: title: Data IP type: string disks: additionalProperties: $ref: '#/components/schemas/apiStorageResource' title: List of disks on the node type: object hostname: title: Hostname of the node type: string id: title: Id of the node type: string mem_free: format: uint64 title: Free memory of the node type: string mem_total: format: uint64 title: Total memory of the node type: string mem_used: format: uint64 title: Used memory of the node type: string mgmt_ip: title: Management IP type: string node_labels: additionalProperties: type: string title: User defined labels for the node type: object non_quorum_member: description: 'Flag indicating whether the node is a quorum member or not. Using inverse value to handle intialization and upgrades. Node will always be counted as a quorum member when initializing until it reaches a point where we can definitely determine whether it is a quorum member or not.' type: boolean pools: items: $ref: '#/components/schemas/apiStoragePool' title: List of storage pools this node supports type: array scheduler_node_name: description: 'SchedulerNodeName is name of the node in scheduler context. It can be empty if unable to get the name from the scheduler.' type: string scheduler_topology: $ref: '#/components/schemas/apiSchedulerTopology' security_status: $ref: '#/components/schemas/StorageNodeSecurityStatus' status: $ref: '#/components/schemas/openstorageapiStatus' title: StorageNode describes the state of the node type: object apiStoragePool: properties: Cos: $ref: '#/components/schemas/apiCosType' ID: format: int32 title: Deprecated! Use `uuid` instead. ID pool ID type: integer Medium: $ref: '#/components/schemas/apiStorageMedium' RaidLevel: title: RaidLevel storage raid level type: string TotalSize: format: uint64 title: TotalSize of the pool type: string Used: format: uint64 title: Used size of the pool type: string labels: additionalProperties: type: string title: Labels is a list of user defined name-value pairs type: object last_operation: $ref: '#/components/schemas/apiStoragePoolOperation' uuid: title: UUID is the unique identifier for a storage pool type: string title: StoragePool groups different storage devices based on their CosType type: object apiStoragePoolOperation: properties: msg: title: Msg is a user friendly message for the operation type: string params: additionalProperties: type: string title: Params for the parameters for the operation type: object status: $ref: '#/components/schemas/SdkStoragePoolOperationStatus' type: $ref: '#/components/schemas/apiSdkStoragePoolOperationType' title: StoragePoolOperation defines an operation being performed on a storage pool type: object apiStorageRebalanceAudit: properties: action: $ref: '#/components/schemas/StorageRebalanceAuditStorageRebalanceAction' end_time: format: date-time title: EndTime is time time at which action ended type: string name: title: Name is the name of the volumes which was rebalanced type: string node: title: Node on which this action happened type: string pool: title: Pool on which this action happened type: string replication_set_id: format: uint64 title: ReplicationSetId is the ID of the replication set type: string start_time: format: date-time title: StartTime is the time at which action was started type: string state: $ref: '#/components/schemas/apiStorageRebalanceJobState' volume_id: title: VolumeID is the id of the volume which was rebalanced type: string work_summary: items: $ref: '#/components/schemas/apiStorageRebalanceWorkSummary' title: WorkSummary summarizes the work done type: array title: StorageRebalanceAudit describes the action taken during rebalance type: object apiStorageRebalanceJob: properties: create_time: format: date-time title: CreateTime is the time the job was created type: string id: title: ID of the rebalance job type: string last_update_time: format: date-time title: LastUpdateTime is the time the job was updated type: string parameters: $ref: '#/components/schemas/apiSdkStorageRebalanceRequest' state: $ref: '#/components/schemas/apiStorageRebalanceJobState' status: title: Status describes status of pools after rebalance if rebalance did not finish successfully type: string title: StorageRebalanceJob describes job input and current status type: object apiStorageRebalanceJobState: default: PENDING description: "- PENDING: Pending indicates job is still pending and has not\ \ started work\n - RUNNING: Running indicates job is actively running\n -\ \ DONE: Done indicates job has finished processing\n - PAUSED: Paused indicates\ \ job is paused\n - CANCELLED: Cancelled indicates job is cancelled" enum: - PENDING - RUNNING - DONE - PAUSED - CANCELLED title: StorageRebalanceJobState is an enum for state of the current rebalance operation type: string apiStorageRebalanceSummary: properties: total_run_time_seconds: format: uint64 title: TotalRunTimeSeconds is the total time rebalance is running type: string work_summary: items: $ref: '#/components/schemas/apiStorageRebalanceWorkSummary' title: WorkSummary summarizes the work done type: array title: StorageRebalanceSummary describes summary for the job type: object apiStorageRebalanceTriggerThreshold: properties: metric: $ref: '#/components/schemas/StorageRebalanceTriggerThresholdMetric' over_load_trigger_threshold: description: 'OverLoadTriggerThreshold will select entity which is over this threshold. OverLoadTriggerThreshold threshold selects pools which act as source for reduction of load defined by the metric.' format: uint64 type: string type: $ref: '#/components/schemas/apiStorageRebalanceTriggerThresholdType' under_load_trigger_threshold: description: 'UnderLoadTriggerThreshold will select entity which is under this threshold. UnderLoadTriggerThreshold selects pools which act as targets for increasing load defined by metric.' format: uint64 type: string type: object apiStorageRebalanceTriggerThresholdType: default: ABSOLUTE_PERCENT description: "- ABSOLUTE_PERCENT: AbsolutePercent indicates absolute percent\ \ comparison.\nExample, 75 % used of capacity, or 50 % provisioned of capacity.\n\ \ - DELTA_MEAN_PERCENT: DeltaMeanPercent indicates mean percent comparison\ \ threshold.\nExample, 10 % more than mean for cluster." enum: - ABSOLUTE_PERCENT - DELTA_MEAN_PERCENT title: Type is an enum that defines the type fo the trigger threshold type: string apiStorageRebalanceWorkSummary: properties: done: format: uint64 title: Done is the amount of bytes/work done type: string pending: format: uint64 title: Pending is the amount of bytes/work pending. Done + Pending == Total type: string type: $ref: '#/components/schemas/apiStorageRebalanceWorkSummaryType' type: object apiStorageRebalanceWorkSummaryType: default: UnbalancedPools description: "- UnbalancedPools: summary for unbalanced pools\n - UnbalancedVolumes:\ \ summary for unbalanced volumes\n - UnbalancedProvisionedSpaceBytes: summary\ \ for unbalanced provisioned space\n - UnbalancedUsedSpaceBytes: summary for\ \ unbalanced used space" enum: - UnbalancedPools - UnbalancedVolumes - UnbalancedProvisionedSpaceBytes - UnbalancedUsedSpaceBytes title: Type is an enum to indicate the type of work summary type: string apiStorageResource: description: StorageResource groups properties of a storage device. properties: cache: title: True if dedicated as cache type: boolean cloud_drive_type: title: Cloud drive type type: string id: description: Id is the LUN identifier. type: string iops: format: uint64 title: IOPS type: string last_scan: description: Timestamp of last time this device was scanned. format: date-time type: string medium: $ref: '#/components/schemas/apiStorageMedium' metadata: description: True if dedicated for metadata. type: boolean online: description: True if this device is online. type: boolean path: description: Path device path for this storage resource. type: string pool_metadata_dev: title: True if the resource is used as thin pool metadata disk type: boolean randRW: format: double title: RandRW type: number rotation_speed: description: True if this device is rotational. type: string seq_read: format: double title: SeqRead type: number seq_write: format: double title: SeqWrite type: number size: description: Total size in bytes. format: uint64 type: string used: description: Physical Bytes used. format: uint64 type: string volume_spec: title: volume spec that created this drive type: string type: object apiStorageVersion: properties: details: additionalProperties: type: string title: Extra information provided by the storage system type: object driver: title: OpenStorage driver name type: string version: title: Version of the server type: string title: Version information about the storage system type: object apiTopologyRequirement: properties: labels: additionalProperties: type: string title: Key-value pairs defining the required topology for a volume type: object title: TopologyRequirement defines the topology requirement for a volume type: object apiVolume: description: Volume represents an abstract storage volume. properties: attach_info: additionalProperties: type: string description: AttachInfo is a list of name value mappings that provides attach information. type: object attach_path: description: AttachPath is the mounted path in the host namespace. items: type: string type: array attach_time: description: AttachTime time this device was last attached externally. format: date-time type: string attached_on: description: AttachedOn is the node instance identifier for clustered systems. type: string attached_state: $ref: '#/components/schemas/apiAttachState' ctime: format: date-time title: Volume creation time type: string derived_io_profile: $ref: '#/components/schemas/apiIoProfile' detach_time: description: DetachTime time this device was detached. format: date-time type: string device_path: description: DevicePath is the device exported by block device implementations. type: string error: description: Error is the Last recorded error. type: string format: $ref: '#/components/schemas/apiFSType' fpConfig: $ref: '#/components/schemas/apiFastpathConfig' fs_resize_required: description: FsResizeRequired if an FS resize is required on the volume. type: boolean group: $ref: '#/components/schemas/apiGroup' id: description: Self referential volume ID. type: string in_trashcan: title: InTrashcan if the volume is in trashcan type: boolean last_scan: description: LastScan is the time when an integrity check was run. format: date-time type: string last_scan_fix: format: date-time title: LastScanFix is the time when an integrity check fixed errors in filesystem type: string last_scan_status: $ref: '#/components/schemas/apiFilesystemHealthStatus' locator: $ref: '#/components/schemas/apiVolumeLocator' mount_options: $ref: '#/components/schemas/apiMountOptions' readonly: description: Readonly is true if this volume is to be mounted with readonly access. type: boolean replica_sets: description: ReplicatSets storage for this volumefor clustered storage arrays. items: $ref: '#/components/schemas/apiReplicaSet' type: array runtime_state: description: 'RuntimeState is a lst of name value mapping of driver specific runtime information.' items: $ref: '#/components/schemas/apiRuntimeStateMap' type: array secure_device_path: description: SecureDevicePath is the device path for an encrypted volume. type: string sharedv4_mount_options: $ref: '#/components/schemas/apiMountOptions' source: $ref: '#/components/schemas/apiSource' spec: $ref: '#/components/schemas/apiVolumeSpec' state: $ref: '#/components/schemas/apiVolumeState' status: $ref: '#/components/schemas/apiVolumeStatus' usage: description: Usage is bytes consumed by this volume. format: uint64 type: string volume_consumers: items: $ref: '#/components/schemas/apiVolumeConsumer' title: VolumeConsumers are entities that consume this volume type: array type: object apiVolumeBytesUsed: properties: total_bytes: format: uint64 title: size in bytes by the volume/snapshot type: string volume_id: title: id for the volume/snapshot type: string title: VolumeBytesUsed defines volume utilization type: object apiVolumeBytesUsedByNode: properties: node_id: title: machine uuid type: string vol_usage: items: $ref: '#/components/schemas/apiVolumeBytesUsed' title: VolumeBytesUsed for each requested volume on the given node type: array title: VolumeBytesUsedByNode defines volume utilization for multiple volumes in a given node type: object apiVolumeConsumer: properties: name: title: Name is the name of the volume consumer type: string namespace: title: Namespace is the namespace of the volume consumer type: string node_id: description: "NodeID is the identifier of the node on which the consumer\ \ is running. This\nidentifier would be from the perspective of the container\ \ runtime or\norchestrator under which the volume consumer resides. For\ \ example, NodeID\n can be name of a minion in Kubernetes." type: string owner_name: title: OwnerName is the name of the entity who owns this volume consumer type: string owner_type: description: 'OwnerType is the type of the entity who owns this volume consumer. The type would be from the perspective of the container runtime or the orchestrator under which the volume consumer resides. For e.g OwnerType can be a Deployment in Kubernetes.' type: string type: title: Type is the type of the consumer. E.g a Kubernetes pod type: string title: 'VolumeConsumer identifies a consumer for a Volume. An example of a VolumeConsumer would be a Pod in Kubernetes who has mounted the PersistentVolumeClaim for the Volume' type: object apiVolumeInspectOptions: properties: deep: description: 'Deep inspection is used to collect more information about the volume. Setting this value may delay the request.' type: boolean title: Options used for volume inspection type: object apiVolumeLocator: description: 'VolumeLocator is a structure that is attached to a volume and is used to carry opaque metadata.' properties: group: $ref: '#/components/schemas/apiGroup' name: title: User friendly identifier type: string ownership: $ref: '#/components/schemas/apiOwnership' volume_ids: items: type: string title: Volume Ids to match type: array volume_labels: additionalProperties: type: string title: A set of name-value pairs that acts as search filters type: object type: object apiVolumePlacementSpec: properties: enforcement: $ref: '#/components/schemas/apiEnforcementType' match_expressions: description: MatchExpressions is a list of label selector requirements. The requirements are ANDed. items: $ref: '#/components/schemas/apiLabelSelectorRequirement' type: array topology_key: title: 'TopologyKey key for the matching all segments of the cluster topology with the same key e.g If the key is failure-domain.beta.kubernetes.io/zone, this should match all nodes with the same value for this key (i.e in the same zone)' type: string weight: format: int64 title: 'Weight defines the weight of the rule which allows to break the tie with other matching rules. A rule with higher weight wins over a rule with lower weight. (optional)' type: string type: object apiVolumePlacementStrategy: description: 'VolumePlacementStrategy defines a strategy for placing volumes in the cluster which will be a series of rules All the rules specified will be applied for volume placement. Rules that have enforcement as "required" are strictly enforced while "preferred" are best effort. In situations, where 2 or more rules conflict, the weight of the rules will dictate which wins.' properties: replica_affinity: items: $ref: '#/components/schemas/apiReplicaPlacementSpec' title: ReplicaAffinity defines affinity rules between replicas within a volume type: array replica_anti_affinity: items: $ref: '#/components/schemas/apiReplicaPlacementSpec' title: ReplicaAntiAffinity defines anti-affinity rules between replicas within a volume type: array volume_affinity: items: $ref: '#/components/schemas/apiVolumePlacementSpec' title: VolumeAffinity defines affinity rules between volumes type: array volume_anti_affinity: items: $ref: '#/components/schemas/apiVolumePlacementSpec' title: VolumeAntiAffinity defines anti-affinity rules between volumes type: array type: object apiVolumeSpec: description: VolumeSpec has the properties needed to create a volume. properties: aggregation_level: description: Aggregation level Specifies the number of parts the volume can be aggregated from. format: int64 type: integer auto_fstrim: title: Autofstrim indicates that fstrim would be run on this volume automatically, without user intervention type: boolean block_size: description: BlockSize for the filesystem. format: int64 type: string cascaded: description: Cascaded is true if this volume can be populated on any node from an external source. type: boolean checksum_clone_id: title: clone created to trigger checksum verification type: string checksummed: title: Checksummed indicates if volumed data is checksummed to provide data integrity type: boolean compressed: description: Compressed is true if this volume is to be compressed. type: boolean cos: $ref: '#/components/schemas/apiCosType' dedupe: description: Dedupe specifies if the volume data is to be de-duplicated. type: boolean encrypted: description: Encrypted is true if this volume will be cryptographically secured. type: boolean ephemeral: title: Ephemeral storage type: boolean export_spec: $ref: '#/components/schemas/apiExportSpec' fa_create_options: description: Filesystem create options to be honored. type: string force_unsupported_fs_type: description: 'Use to force a file system type which is not recommended. The driver may still refuse to use the file system type.' type: boolean format: $ref: '#/components/schemas/apiFSType' fp_preference: title: fastpath extensions type: boolean group: $ref: '#/components/schemas/apiGroup' group_enforced: description: GroupEnforced is true if consistency group creation is enforced. type: boolean ha_level: description: HaLevel specifies the number of copies of data. format: int64 type: string io_profile: $ref: '#/components/schemas/apiIoProfile' io_strategy: $ref: '#/components/schemas/apiIoStrategy' io_throttle: $ref: '#/components/schemas/apiIoThrottle' journal: description: Journal is true if data for the volume goes into the journal. type: boolean mount_options: $ref: '#/components/schemas/apiMountOptions' near_sync: title: NearSync specifies the volume has a near-sync replica type: boolean near_sync_replication_strategy: $ref: '#/components/schemas/apiNearSyncReplicationStrategy' nodiscard: description: 'Nodiscard specifies if the volume will be mounted with discard support disabled. i.e. FS will not release allocated blocks back to the backing storage pool.' type: boolean number_of_chunks: format: int64 title: NumberOfChunks indicates how many chunks must be created, 0 and 1 both mean 1 type: integer ownership: $ref: '#/components/schemas/apiOwnership' passphrase: title: Passphrase for an encrypted volume type: string placement_strategy: $ref: '#/components/schemas/apiVolumePlacementStrategy' proxy_spec: $ref: '#/components/schemas/apiProxySpec' proxy_write: title: Proxy_write if true, per volume proxy write replication enabled type: boolean queue_depth: format: int64 title: QueueDepth defines the desired block device queue depth type: integer readahead: title: Enable readahead for the volume type: boolean replica_set: $ref: '#/components/schemas/apiReplicaSet' scale: description: Scale allows autocreation of volumes. format: int64 type: integer scan_policy: $ref: '#/components/schemas/apiScanPolicy' shared: description: Shared is true if this volume can be concurrently accessed by multiple users. type: boolean sharedv4: description: Sharedv4 is true if this volume can be accessed via sharedv4. type: boolean sharedv4_mount_options: $ref: '#/components/schemas/apiMountOptions' sharedv4_service_spec: $ref: '#/components/schemas/apiSharedv4ServiceSpec' sharedv4_spec: $ref: '#/components/schemas/apiSharedv4Spec' size: format: uint64 title: Size specifies the thin provisioned volume size in bytes type: string snapshot_interval: format: int64 title: SnapshotInterval in minutes, set to 0 to disable snapshots type: integer snapshot_schedule: description: SnapshotSchedule a well known string that specifies when snapshots should be taken. type: string sticky: description: Sticky volumes cannot be deleted until the flag is removed. type: boolean storage_policy: title: StoragePolicy if applied/specified while creating volume type: string topology_requirement: $ref: '#/components/schemas/apiTopologyRequirement' volume_labels: additionalProperties: type: string title: (deprecated, do not use) VolumeLabels configuration labels type: object winshare: description: winshare is true if this volume can be accessed from windows pods. type: boolean xattr: $ref: '#/components/schemas/apiXattrValue' type: object apiVolumeSpecPolicy: properties: aggregation_level: format: int64 type: integer auto_fstrim: type: boolean cos: $ref: '#/components/schemas/apiCosType' dedupe: type: boolean encrypted: type: boolean export_spec: $ref: '#/components/schemas/apiExportSpec' fastpath: type: boolean group: $ref: '#/components/schemas/apiGroup' ha_level: format: int64 type: string ha_level_operator: $ref: '#/components/schemas/VolumeSpecPolicyPolicyOp' io_profile: $ref: '#/components/schemas/apiIoProfile' io_strategy: $ref: '#/components/schemas/apiIoStrategy' io_throttle: $ref: '#/components/schemas/apiIoThrottle' journal: type: boolean mount_opt_spec: $ref: '#/components/schemas/apiMountOptions' nodiscard: type: boolean passphrase: type: string proxy_spec: $ref: '#/components/schemas/apiProxySpec' proxy_write: type: boolean queue_depth: format: int64 type: integer readahead: type: boolean replica_set: $ref: '#/components/schemas/apiReplicaSet' scale: format: int64 type: integer scale_operator: $ref: '#/components/schemas/VolumeSpecPolicyPolicyOp' scan_policy: $ref: '#/components/schemas/apiScanPolicy' shared: type: boolean sharedv4: type: boolean sharedv4_mount_opt_spec: $ref: '#/components/schemas/apiMountOptions' sharedv4_service_spec: $ref: '#/components/schemas/apiSharedv4ServiceSpec' sharedv4_spec: $ref: '#/components/schemas/apiSharedv4Spec' size: format: uint64 type: string size_operator: $ref: '#/components/schemas/VolumeSpecPolicyPolicyOp' snapshot_interval: format: int64 type: integer snapshot_interval_operator: $ref: '#/components/schemas/VolumeSpecPolicyPolicyOp' snapshot_schedule: type: string sticky: type: boolean volume_labels: additionalProperties: type: string title: VolumeLabels configuration labels type: object winshare: type: boolean title: VolumeSpecPolicy provides a method to set volume storage policy type: object apiVolumeSpecUpdate: properties: auto_fstrim: type: boolean checksummed: type: boolean cos: $ref: '#/components/schemas/apiCosType' dedupe: type: boolean export_spec: $ref: '#/components/schemas/apiExportSpec' fastpath: type: boolean group: $ref: '#/components/schemas/apiGroup' ha_level: format: int64 type: string io_profile: $ref: '#/components/schemas/apiIoProfile' io_strategy: $ref: '#/components/schemas/apiIoStrategy' io_throttle: $ref: '#/components/schemas/apiIoThrottle' journal: type: boolean mount_opt_spec: $ref: '#/components/schemas/apiMountOptions' near_sync_replication_strategy: $ref: '#/components/schemas/apiNearSyncReplicationStrategy' nodiscard: type: boolean ownership: $ref: '#/components/schemas/apiOwnership' passphrase: type: string proxy_spec: $ref: '#/components/schemas/apiProxySpec' proxy_write: type: boolean pure_nfs_endpoint: type: string queue_depth: format: int64 type: integer readahead: type: boolean replica_set: $ref: '#/components/schemas/apiReplicaSet' scale: format: int64 type: integer scan_policy: $ref: '#/components/schemas/apiScanPolicy' shared: type: boolean sharedv4: type: boolean sharedv4_mount_opt_spec: $ref: '#/components/schemas/apiMountOptions' sharedv4_service_spec: $ref: '#/components/schemas/apiSharedv4ServiceSpec' sharedv4_spec: $ref: '#/components/schemas/apiSharedv4Spec' size: format: uint64 type: string snapshot_interval: format: int64 type: integer snapshot_schedule: type: string sticky: type: boolean winshare: type: boolean xattr: $ref: '#/components/schemas/apiXattrValue' title: VolumeSpecUpdate provides a method to set any of the VolumeSpec of an existing volume type: object apiVolumeState: default: VOLUME_STATE_NONE description: "VolumeState represents the state of a volume.\n\n - VOLUME_STATE_PENDING:\ \ Volume is transitioning to new state\n - VOLUME_STATE_AVAILABLE: Volume\ \ is ready to be assigned to a container\n - VOLUME_STATE_ATTACHED: Volume\ \ is attached to container\n - VOLUME_STATE_DETACHED: Volume is detached but\ \ associated with a container\n - VOLUME_STATE_DETATCHING: Volume detach is\ \ in progress\n - VOLUME_STATE_ERROR: Volume is in error state\n - VOLUME_STATE_DELETED:\ \ Volume is deleted, it will remain in this state\nwhile resources are asynchronously\ \ reclaimed\n - VOLUME_STATE_TRY_DETACHING: Volume is trying to be detached\n\ \ - VOLUME_STATE_RESTORE: Volume is undergoing restore" enum: - VOLUME_STATE_NONE - VOLUME_STATE_PENDING - VOLUME_STATE_AVAILABLE - VOLUME_STATE_ATTACHED - VOLUME_STATE_DETACHED - VOLUME_STATE_DETATCHING - VOLUME_STATE_ERROR - VOLUME_STATE_DELETED - VOLUME_STATE_TRY_DETACHING - VOLUME_STATE_RESTORE type: string apiVolumeStatus: default: VOLUME_STATUS_NONE description: "VolumeStatus represents a health status for a volume.\n\n - VOLUME_STATUS_NOT_PRESENT:\ \ Volume is not present\n - VOLUME_STATUS_UP: Volume is healthy\n - VOLUME_STATUS_DOWN:\ \ Volume is in fail mode\n - VOLUME_STATUS_DEGRADED: Volume is up but with\ \ degraded performance\nIn a RAID group, this may indicate a problem with\ \ one or more drives" enum: - VOLUME_STATUS_NONE - VOLUME_STATUS_NOT_PRESENT - VOLUME_STATUS_UP - VOLUME_STATUS_DOWN - VOLUME_STATUS_DEGRADED type: string apiVolumeUsage: description: 'Provides volume''s exclusive bytes and its total usage. This cannot be retrieved individually and is obtained as part node''s usage for a given node.' properties: exclusive_bytes: format: uint64 title: size in bytes exclusively used by the volume/snapshot type: string local_cloud_snapshot: title: set to true if this volume is snapshot created by cloudbackups type: boolean pool_uuid: title: uuid of the pool that this volume belongs to type: string total_bytes: format: uint64 title: size in bytes by the volume/snapshot type: string volume_id: title: id for the volume/snapshot type: string volume_name: title: name of the volume/snapshot type: string type: object apiVolumeUsageByNode: description: 'Provides capacity usage of a node in terms of volumes. Returns VolumeUsage for all the volume/snapshot(s) in the node.' properties: volume_usage: items: $ref: '#/components/schemas/apiVolumeUsage' title: VolumeUsage returns list of VolumeUsage for given node type: array type: object apiXattrValue: default: UNSPECIFIED enum: - UNSPECIFIED - COW_ON_DEMAND title: "- UNSPECIFIED: Value is uninitialized or unknown\n - COW_ON_DEMAND:\ \ Enable on-demand copy-on-write on the volume" type: string openstorageapiStatus: default: STATUS_NONE enum: - STATUS_NONE - STATUS_INIT - STATUS_OK - STATUS_OFFLINE - STATUS_ERROR - STATUS_NOT_IN_QUORUM - STATUS_DECOMMISSION - STATUS_MAINTENANCE - STATUS_STORAGE_DOWN - STATUS_STORAGE_DEGRADED - STATUS_NEEDS_REBOOT - STATUS_STORAGE_REBALANCE - STATUS_STORAGE_DRIVE_REPLACE - STATUS_NOT_IN_QUORUM_NO_STORAGE - STATUS_POOLMAINTENANCE - STATUS_MAX title: '- STATUS_MAX: Add statuses before MAX and update the number for MAX' type: string protobufAny: properties: type_url: type: string value: format: byte type: string type: object runtimeError: properties: code: format: int32 type: integer details: items: $ref: '#/components/schemas/protobufAny' type: array error: type: string message: type: string type: object runtimeStreamError: properties: details: items: $ref: '#/components/schemas/protobufAny' type: array grpc_code: format: int32 type: integer http_code: format: int32 type: integer http_status: type: string message: type: string type: object securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT info: title: OpenStorage SDK version: 0.186.0 openapi: 3.0.0 paths: /v1/alerts: post: description: '#### Delete Delete allows 3 different types of queries as defined below: * Query that takes only resource type as input * Query that takes resource type and alert type as input and * Query that takes resource id, alert type and resource type as input. #### Input SdkAlertsDeleteRequest takes a list of such queries and all alerts that match at least one of the queries are deleted.' operationId: OpenStorageAlerts_Delete requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkAlertsDeleteRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkAlertsDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete alerts tags: - OpenStorageAlerts /v1/alerts/filters: post: description: 'EnumerateWithFilters allows 3 different types of queries as defined below: * Query that takes only resource type as input * Query that takes resource type and alert type as input and * Query that takes resource id, alert type and resource type as input. #### Input SdkAlertsEnumerateRequest takes a list of such queries and the returned output is a collective output from each of these queries. In that sense, the filtering of these queries has a behavior of OR operation. Each query also has a list of optional options. These options allow narrowing down the scope of alerts search. These options have a behavior of an AND operation. #### Examples To search by a resource type in a given time window would require initializing SdkAlertsResourceTypeQuery query and pass in SdkAlertsTimeSpan option into SdkAlertsQuery struct and finally packing any other such queries into SdkAlertsEnumerateRequest object. Alternatively, to search by both resource type and alert type, use SdkAlertsAlertTypeQuery as query builder. Finally to search all alerts of a given resource type and some alerts of another resource type but with specific alert type, use two queries, first initialized with SdkAlertsResourceTypeQuery and second initialized with SdkAlertsAlertTypeQuery and both eventually packed as list in SdkAlertsEnumerateRequest.' operationId: OpenStorageAlerts_EnumerateWithFilters requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkAlertsEnumerateWithFiltersRequest' required: true responses: '200': content: application/json: schema: properties: error: $ref: '#/components/schemas/runtimeStreamError' result: $ref: '#/components/schemas/apiSdkAlertsEnumerateWithFiltersResponse' title: Stream result of apiSdkAlertsEnumerateWithFiltersResponse type: object description: A successful response.(streaming responses) default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Allows querying alerts. tags: - OpenStorageAlerts /v1/bucket: post: operationId: OpenStorageBucket_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiBucketCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiBucketCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. tags: - OpenStorageBucket /v1/bucket/access/{bucket_id}: post: operationId: OpenStorageBucket_GrantAccess parameters: - description: Id of the bucket in: path name: bucket_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiBucketGrantAccessRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiBucketGrantAccessResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. tags: - OpenStorageBucket /v1/bucket/revoke/{bucket_id}: post: operationId: OpenStorageBucket_RevokeAccess parameters: - description: Id of bucket to delete in: path name: bucket_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiBucketRevokeAccessRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiBucketRevokeAccessResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. tags: - OpenStorageBucket /v1/bucket/{bucket_id}: delete: operationId: OpenStorageBucket_Delete parameters: - description: Id of bucket to delete in: path name: bucket_id required: true schema: type: string - description: Region in which bucket will be created. in: query name: region required: false schema: type: string - description: Endpoint to use when deleting the bucket. in: query name: endpoint required: false schema: type: string - description: Flag to allow non empty bucket deletion. in: query name: clear_bucket required: false schema: type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiBucketDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. tags: - OpenStorageBucket /v1/cloudbackups: post: description: Requires access AccessType.Read of volume operationId: OpenStorageCloudBackup_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Creates a backup request for a specified volume. Use OpenStorageCloudBackup.Status() to get the current status of the backup request.' tags: - OpenStorageCloudBackup /v1/cloudbackups/backup/{backup_id}: delete: operationId: OpenStorageCloudBackup_Delete parameters: - description: ID is the ID of the cloud backup in: path name: backup_id required: true schema: type: string - description: Credential id is the credential for cloud to be used for the request. in: query name: credential_id required: false schema: type: string - description: 'Force Delete cloudbackup even if there are dependencies. This may be needed if the backup is an incremental backup and subsequent backups depend on this backup specified by `backup_id`.' in: query name: force required: false schema: type: boolean - description: Bucket name to which cloud backup belongs to. in: query name: bucket required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Deletes a backup stored in the cloud. If the backup is an incremental backup and other backups are dependent on it, it will not be able to be deleted.' tags: - OpenStorageCloudBackup /v1/cloudbackups/catalog: post: operationId: OpenStorageCloudBackup_Catalog requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupCatalogRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupCatalogResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Catalog returns a list of the contents in the backup tags: - OpenStorageCloudBackup /v1/cloudbackups/deleteall: post: operationId: OpenStorageCloudBackup_DeleteAll requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupDeleteAllRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupDeleteAllResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: DeleteAll deletes all the backups in the cloud for the specified volume. tags: - OpenStorageCloudBackup /v1/cloudbackups/enumerate/filters: post: operationId: OpenStorageCloudBackup_EnumerateWithFilters requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupEnumerateWithFiltersRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupEnumerateWithFiltersResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Return a list of backups for the specified volume tags: - OpenStorageCloudBackup /v1/cloudbackups/group: post: description: This will only backup volumes which the user has read_access to. operationId: OpenStorageCloudBackup_GroupCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupGroupCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupGroupCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Creates a group backup request for a specified group. Use OpenStorageCloudBackup.Status() to get the current status of the backup request.' tags: - OpenStorageCloudBackup /v1/cloudbackups/history/{src_volume_id}: get: operationId: OpenStorageCloudBackup_History parameters: - description: 'This optional value defines which history of backups is being requested. If not provided, it will return the history for all volumes.' in: path name: src_volume_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupHistoryResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: History returns a list of backups for a specified volume tags: - OpenStorageCloudBackup /v1/cloudbackups/restore: post: operationId: OpenStorageCloudBackup_Restore requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupRestoreRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupRestoreResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Restore creates a new volume from a backup id. The newly created volume has an ha_level (number of replicas) of only 1. To increase the number of replicas, use OpenStorageVolume.Set() to change the ha_level.' tags: - OpenStorageCloudBackup /v1/cloudbackups/schedules: get: operationId: OpenStorageCloudBackup_SchedEnumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate cloud backup schedules tags: - OpenStorageCloudBackup post: operationId: OpenStorageCloudBackup_SchedCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Create cloud backup schedule tags: - OpenStorageCloudBackup put: operationId: OpenStorageCloudBackup_SchedUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Update existing cloud backup schedule tags: - OpenStorageCloudBackup /v1/cloudbackups/schedules/{backup_schedule_id}: delete: operationId: OpenStorageCloudBackup_SchedDelete parameters: - description: Id of cloud backup to delete in: path name: backup_schedule_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSchedDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete cloud backup schedule tags: - OpenStorageCloudBackup /v1/cloudbackups/size: get: operationId: OpenStorageCloudBackup_Size parameters: - description: 'BackupId is a value which is used to get information on the size of the specified backup.' in: query name: backup_id required: false schema: type: string - description: Credential id describe the credentials for the cloud. in: query name: credential_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupSizeResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Size returns the size of any cloud backups of a volume tags: - OpenStorageCloudBackup /v1/cloudbackups/statechange: post: operationId: OpenStorageCloudBackup_StateChange requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupStateChangeRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupStateChangeResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: StateChange can be used to stop, pause, and restart a backup tags: - OpenStorageCloudBackup /v1/cloudbackups/status: post: operationId: OpenStorageCloudBackup_Status requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupStatusRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudBackupStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Status returns the status of any cloud backups of a volume tags: - OpenStorageCloudBackup /v1/clusterdomains: get: operationId: OpenStorageClusterDomains_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterDomainsEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns names of all the cluster domains in the cluster tags: - OpenStorageClusterDomains /v1/clusterdomains/activate/{cluster_domain_name}: post: operationId: OpenStorageClusterDomains_Activate parameters: - description: Name of the cluster domain to activate in: path name: cluster_domain_name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterDomainActivateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Activates a cluster domain in the cluster. All the nodes which are part of an active cluster domain will participate in cluster quorum calculation' tags: - OpenStorageClusterDomains /v1/clusterdomains/deactivate/{cluster_domain_name}: post: operationId: OpenStorageClusterDomains_Deactivate parameters: - description: Name of the cluster domain to deactivate in: path name: cluster_domain_name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterDomainDeactivateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Deactivates a cluster domain in the cluster. All the nodes which are part of a deactivated cluster domain. will not participate in cluster quorum calculation' tags: - OpenStorageClusterDomains /v1/clusterdomains/inspect/{cluster_domain_name}: get: operationId: OpenStorageClusterDomains_Inspect parameters: - description: Name of the cluster domain to inspect in: path name: cluster_domain_name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterDomainInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Inspect returns information about a cluster domain and a status indicating whether the cluster domain is active' tags: - OpenStorageClusterDomains /v1/clusterpairs: get: operationId: OpenStorageClusterPair_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns list of cluster pairs tags: - OpenStorageClusterPair post: description: "##### Example\n{% codetabs name=\"Golang\", type=\"go\" -%}\n\ id, err := client.Create(context.Background(), &api.SdkClusterPairCreateRequest\ \ {\n Request : &api.ClusterPairCreateRequest {\n RemoteClusterIp:\ \ \"127.0.0.1\",\n RemoteClusterPort: 12345,\n \ \ RemoteClusterToken: \"\",\n SetDefault:\ \ true,\n }\n })\n{%- endcodetabs %}" operationId: OpenStorageClusterPair_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Creates Pair with a remote cluster and returns details about the remote cluster tags: - OpenStorageClusterPair /v1/clusterpairs/inspect/{id}: get: operationId: OpenStorageClusterPair_Inspect parameters: - description: ID of the cluster, if empty gets the default pair in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect information about a cluster pair tags: - OpenStorageClusterPair /v1/clusterpairs/token: get: operationId: OpenStorageClusterPair_GetToken responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairGetTokenResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: GetToken returns a auth token tags: - OpenStorageClusterPair post: operationId: OpenStorageClusterPair_ResetToken requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairResetTokenRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairResetTokenResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: ResetToken returns a auth token tags: - OpenStorageClusterPair /v1/clusterpairs/{cluster_id}: delete: operationId: OpenStorageClusterPair_Delete parameters: - description: ID of the cluster pair to be deleted in: path name: cluster_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterPairDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete a cluster pair tags: - OpenStorageClusterPair /v1/clusters/inspectcurrent: get: operationId: OpenStorageCluster_InspectCurrent responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkClusterInspectCurrentResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: InspectCurrent returns information about the current cluster tags: - OpenStorageCluster /v1/credentials: get: operationId: OpenStorageCredentials_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns a list of credential ids tags: - OpenStorageCredentials post: description: "##### Example\n{% codetabs name=\"Golang\", type=\"go\" -%}\n\ id, err := client.Create(context.Background(), &api.SdkCredentialCreateRequest{\n\ \ Name: \"awscred\",\n UseProxy: false,\n CredentialType: &api.SdkCredentialCreateRequest_AwsCredential{\n\ \ AwsCredential: &api.SdkAwsCredentialRequest{\n AccessKey: \"dummy-access\"\ ,\n SecretKey: \"dummy-secret\",\n Endpoint: \"dummy-endpoint\"\ ,\n Region: \"dummy-region\",\n },\n },\n})\n{%- language name=\"\ Python\", type=\"py\" -%}\nen_resp = client.Create(api_pb2.SdkCredentialCreateRequest(\n\ \ name='awscred',\n aws_credential=api_pb2.SdkAwsCredentialRequest(\n \ \ access_key='dummy-access',\n secret_key='dumm-secret',\n endpoint='dummy-endpoint',\n\ \ region='dummy-region')))\n{%- endcodetabs %}" operationId: OpenStorageCredentials_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Create is used to submit cloud credentials. It will return an id of the credentials once they are verified to work.' tags: - OpenStorageCredentials /v1/credentials/inspect/{credential_id}: get: operationId: OpenStorageCredentials_Inspect parameters: - description: Id of the credential in: path name: credential_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns the information about a credential, but does not return the secret key. tags: - OpenStorageCredentials /v1/credentials/references/{credential_id}: delete: operationId: OpenStorageCredentials_DeleteReferences parameters: - description: Id of the credentials in: path name: credential_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialDeleteReferencesResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: DeleteReferences is used to remove references to credentials tags: - OpenStorageCredentials /v1/credentials/validate/{credential_id}: get: operationId: OpenStorageCredentials_Validate parameters: - description: Id of the credentials in: path name: credential_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialValidateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Validate is used to validate credentials tags: - OpenStorageCredentials /v1/credentials/{credential_id}: delete: operationId: OpenStorageCredentials_Delete parameters: - description: Id for credentials in: path name: credential_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete a specified credential tags: - OpenStorageCredentials put: operationId: OpenStorageCredentials_Update parameters: - in: path name: credential_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCredentialUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: input is very same as credential create tags: - OpenStorageCredentials /v1/diags: post: operationId: OpenStorageDiags_Collect requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkDiagsCollectRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkDiagsCollectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Collect starts a job to collect diagnostics from set of nodes that are selected based on the selectors provided in the SdkDiagsCollectRequest. See SdkDiagsCollectRequest for more details on how to select the nodes Returns SdkDiagsCollectResponse which has the job that is responsible for collecting the diags.' tags: - OpenStorageDiags /v1/filesystem-check/delete-snapshots: post: operationId: OpenStorageFilesystemCheck_DeleteSnapshots requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckDeleteSnapshotsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckDeleteSnapshotsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete all fsck created snapshots on volume tags: - OpenStorageFilesystemCheck /v1/filesystem-check/list-snapshots: get: operationId: OpenStorageFilesystemCheck_ListSnapshots parameters: - description: Id of the volume. in: query name: volume_id required: false schema: type: string - description: Node Id of the volume. in: query name: node_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckListSnapshotsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: List all fsck created snapshots on volume tags: - OpenStorageFilesystemCheck /v1/filesystem-check/list-volumes: get: operationId: OpenStorageFilesystemCheck_ListVolumes parameters: - description: Node Id filter. in: query name: node_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckListVolumesResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: List of all volumes which require fsck check/fix to be run tags: - OpenStorageFilesystemCheck /v1/filesystem-check/start: post: operationId: OpenStorageFilesystemCheck_Start requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckStartRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckStartResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Start a filesystem-check background operation on a unmounted volume. tags: - OpenStorageFilesystemCheck /v1/filesystem-check/status: get: operationId: OpenStorageFilesystemCheck_Status parameters: - description: Id of the volume. in: query name: volume_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Get Status of a filesystem-check background operation on an unmounted volume, if any' tags: - OpenStorageFilesystemCheck /v1/filesystem-check/stop: post: operationId: OpenStorageFilesystemCheck_Stop requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckStopRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemCheckStopResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Stop a filesystem check background operation on an unmounted volume, if any tags: - OpenStorageFilesystemCheck /v1/filesystem-defrag/schedule: post: operationId: OpenStorageFilesystemDefrag_CreateSchedule requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCreateDefragScheduleRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCreateDefragScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Create a schedule to run defragmentation tasks periodically tags: - OpenStorageFilesystemDefrag /v1/filesystem-defrag/schedules: delete: operationId: OpenStorageFilesystemDefrag_CleanUpSchedules responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCleanUpDefragSchedulesResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Clean up all defrag schedules and stop all operations tags: - OpenStorageFilesystemDefrag /v1/filesystem-defrag/status: get: operationId: OpenStorageFilesystemDefrag_EnumerateNodeStatus responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkEnumerateDefragStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate all nodes, returning defrag status of the entire cluster tags: - OpenStorageFilesystemDefrag /v1/filesystem-defrag/status/{node_id}: get: operationId: OpenStorageFilesystemDefrag_GetNodeStatus parameters: - description: NodeId is uuid of the node in: path name: node_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkGetDefragNodeStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Get defrag status of a node tags: - OpenStorageFilesystemDefrag /v1/filesystem-trim/auto-fstrim-pop: post: operationId: OpenStorageFilesystemTrim_AutoFSTrimPop requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimPopRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimPopResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Pop a auto filesystem Trim job from the queue tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/auto-fstrim-push: post: operationId: OpenStorageFilesystemTrim_AutoFSTrimPush requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimPushRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimPushResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Push a auto filesystem Trim job into the queue tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/auto-fstrim-status: get: operationId: OpenStorageFilesystemTrim_AutoFSTrimStatus responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/auto-fstrim-usage: get: operationId: OpenStorageFilesystemTrim_AutoFSTrimUsage responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkAutoFSTrimUsageResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Usage of a filesystem Trim background operation on all locally mounted volume' tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/start: post: operationId: OpenStorageFilesystemTrim_Start requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemTrimStartRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemTrimStartResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Start a filesystem Trim background operation on a mounted volume tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/status: get: operationId: OpenStorageFilesystemTrim_Status parameters: - description: Id of the volume. in: query name: volume_id required: false schema: type: string - description: Path where the volume is mounted. in: query name: mount_path required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemTrimStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Status of a filesystem Trim background operation on a mounted volume, if any' tags: - OpenStorageFilesystemTrim /v1/filesystem-trim/stop: post: operationId: OpenStorageFilesystemTrim_Stop requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemTrimStopRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkFilesystemTrimStopResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Stop a filesystem Trim background operation on a mounted volume, if any tags: - OpenStorageFilesystemTrim /v1/identities/capabilities: get: operationId: OpenStorageIdentity_Capabilities responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkIdentityCapabilitiesResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Capabilities returns the supported services by the cluster. This allows SDK implementations to advertise their supported services as the API matures. With this information, clients can determine supported services from storage clusters at different versions.' tags: - OpenStorageIdentity /v1/identities/version: get: operationId: OpenStorageIdentity_Version responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkIdentityVersionResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Version returns version information about the system. tags: - OpenStorageIdentity /v1/jobs: get: operationId: OpenStorageJob_Enumerate parameters: - description: "Type if specified will list the jobs of the provided type.\n\ \n - UNSPECIFIED_TYPE: Unspecified\n - NONE: None\n - DRAIN_ATTACHMENTS:\ \ Job for draining volume attachments\n - CLOUD_DRIVE_TRANSFER: Job for\ \ transferring cloud drives between nodes\n - COLLECT_DIAGS: Job for collecting\ \ diags from the cluster nodes\n - DEFRAG: Job for storage defragmentation\ \ on cluster nodes" in: query name: type required: false schema: default: UNSPECIFIED_TYPE enum: - UNSPECIFIED_TYPE - NONE - DRAIN_ATTACHMENTS - CLOUD_DRIVE_TRANSFER - COLLECT_DIAGS - DEFRAG type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkEnumerateJobsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns all the jobs currently known to the system tags: - OpenStorageJob /v1/jobs/{id}: get: operationId: OpenStorageJob_GetStatus parameters: - description: ID of the job in: path name: id required: true schema: type: string - description: "Type of the job.\n\n - UNSPECIFIED_TYPE: Unspecified\n - NONE:\ \ None\n - DRAIN_ATTACHMENTS: Job for draining volume attachments\n - CLOUD_DRIVE_TRANSFER:\ \ Job for transferring cloud drives between nodes\n - COLLECT_DIAGS: Job\ \ for collecting diags from the cluster nodes\n - DEFRAG: Job for storage\ \ defragmentation on cluster nodes" in: query name: type required: false schema: default: UNSPECIFIED_TYPE enum: - UNSPECIFIED_TYPE - NONE - DRAIN_ATTACHMENTS - CLOUD_DRIVE_TRANSFER - COLLECT_DIAGS - DEFRAG type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkGetJobStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: GetStatus gets the status of a job tags: - OpenStorageJob put: operationId: OpenStorageJob_Update parameters: - description: ID of the job in: path name: id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkUpdateJobRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkUpdateJobResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Update updates an existing job''s state Only acceptable state values are JobState_PAUSED - acceptable only from running state JobState_CANCELLED - acceptable only from running/pause state JobState_RUNNING - acceptable only from pause state' tags: - OpenStorageJob /v1/mountattach/attach: post: description: Requires access AccessType.Write of volume operationId: OpenStorageMountAttach_Attach requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeAttachRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeAttachResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Attach attaches device to the host that the client is communicating with. tags: - OpenStorageMountAttach /v1/mountattach/detach: post: description: Requires access AccessType.Write of volume operationId: OpenStorageMountAttach_Detach requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeDetachRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeDetachResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Detaches a the volume from the host tags: - OpenStorageMountAttach /v1/mountattach/mount: post: description: Requires access AccessType.Write of volume operationId: OpenStorageMountAttach_Mount requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeMountRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeMountResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Mount mounts an attached volume in the host that the client is communicating with tags: - OpenStorageMountAttach /v1/mountattach/unmount: post: description: Requires access AccessType.Write of volume operationId: OpenStorageMountAttach_Unmount requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeUnmountRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeUnmountResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Unmount unmounts a mounted volume in the host that the client is communicating with tags: - OpenStorageMountAttach /v1/nodes: get: operationId: OpenStorageNode_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns the ids of all the nodes in the current cluster tags: - OpenStorageNode /v1/nodes/attachments/disable/{node_id}: put: operationId: OpenStorageNode_CordonAttachments parameters: - description: Node ID on which any further volume attachments will be disabled in: path name: node_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeCordonAttachmentsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeCordonAttachmentsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'CordonAttachments disables any new volume attachments from the provided node in the cluster. Existing volume attachments will stay on the node.' tags: - OpenStorageNode /v1/nodes/attachments/drain/{node_id}: put: operationId: OpenStorageNode_DrainAttachments parameters: - description: Id of the node to drain in: path name: node_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeDrainAttachmentsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkJobResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'DrainAttachments creates a task to drain volume attachments from the provided node in the cluster.' tags: - OpenStorageNode /v1/nodes/attachments/enable/{node_id}: put: operationId: OpenStorageNode_UncordonAttachments parameters: - description: Node ID on which any further volume attachments will be enabled in: path name: node_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeUncordonAttachmentsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeUncordonAttachmentsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'UncordonAttachments re-enables volume attachments on the provided node in the cluster.' tags: - OpenStorageNode /v1/nodes/bytesused: post: operationId: OpenStorageNode_VolumeBytesUsedByNode requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeBytesUsedRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeBytesUsedResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Returns bytes used of multiple volumes for a give node tags: - OpenStorageNode /v1/nodes/filters: get: operationId: OpenStorageNode_EnumerateWithFilters responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeEnumerateWithFiltersResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: EnumerateWithFilters returns all the nodes in the current cluster tags: - OpenStorageNode /v1/nodes/inspect/{node_id}: get: operationId: OpenStorageNode_Inspect parameters: - description: Id of node to inspect in: path name: node_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns information about the specified node tags: - OpenStorageNode /v1/nodes/inspectcurrent: get: operationId: OpenStorageNode_InspectCurrent responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeInspectCurrentResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'InspectCurrent returns information about the storage node where the client is currently connected to.' tags: - OpenStorageNode /v1/nodes/usage/{node_id}: get: operationId: OpenStorageNode_RelaxedReclaimPurge parameters: - description: Id of the node to trigger the purge in: path name: node_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkNodeRelaxedReclaimPurgeResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Triggers RelaxedReclaim purge for a give node tags: - OpenStorageNode /v1/objectstores: post: operationId: OpenStorageObjectstore_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Creates creates an object store endpoint on specified volume tags: - OpenStorageObjectstore /v1/objectstores/inspect/{objectstore_id}: get: operationId: OpenStorageObjectstore_Inspect parameters: - description: Id of the object store in: path name: objectstore_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns information about the object store endpoint tags: - OpenStorageObjectstore /v1/objectstores/{objectstore_id}: delete: operationId: OpenStorageObjectstore_Delete parameters: - description: Id of the object store to delete in: path name: objectstore_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete destroys the object store endpoint on the volume tags: - OpenStorageObjectstore put: operationId: OpenStorageObjectstore_Update parameters: - description: Objectstore Id to update in: path name: objectstore_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkObjectstoreUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Updates provided objectstore status. This call can be used to stop and start the server while maintaining the same object storage id.' tags: - OpenStorageObjectstore /v1/roles: get: operationId: OpenStorageRole_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: List all roles tags: - OpenStorageRole post: operationId: OpenStorageRole_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Create a role for users in the system tags: - OpenStorageRole put: operationId: OpenStorageRole_Update requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Update an existing role tags: - OpenStorageRole /v1/roles/inspect/{name}: get: operationId: OpenStorageRole_Inspect parameters: - description: Name of role in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Get information about a role tags: - OpenStorageRole /v1/roles/{name}: delete: operationId: OpenStorageRole_Delete parameters: - in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkRoleDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete an existing role tags: - OpenStorageRole /v1/schedulepolicies: get: operationId: OpenStorageSchedulePolicy_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns a list of schedules tags: - OpenStorageSchedulePolicy post: operationId: OpenStorageSchedulePolicy_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Create creates a new snapshot schedule. They can be setup daily, weekly, or monthly.' tags: - OpenStorageSchedulePolicy put: operationId: OpenStorageSchedulePolicy_Update requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Update a snapshot schedule tags: - OpenStorageSchedulePolicy /v1/schedulepolicies/inspect/{name}: get: operationId: OpenStorageSchedulePolicy_Inspect parameters: - description: Name of the schedule Policy in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns information about a specified schedule tags: - OpenStorageSchedulePolicy /v1/schedulepolicies/{name}: delete: operationId: OpenStorageSchedulePolicy_Delete parameters: - description: Name of the schedule policy in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkSchedulePolicyDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete removes a snapshot schedule tags: - OpenStorageSchedulePolicy /v1/schedules/{type}: get: operationId: OpenStorageSchedule_Enumerate parameters: - description: 'Type is schedule type (cast to string from a Job.Type enum, as the version of protoc-gen-grpc-gateway on release branch doesn''t support enum type in REST API path parameter)' in: path name: type required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkEnumerateSchedulesResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns all the schedules tags: - OpenStorageSchedule /v1/schedules/{type}/{id}: delete: operationId: OpenStorageSchedule_Delete parameters: - description: 'Type is schedule type (cast to string from a Job.Type enum, as the version of protoc-gen-grpc-gateway on release branch doesn''t support enum type in REST API path parameter)' in: path name: type required: true schema: type: string - description: ID of the schedule in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkDeleteScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete deletes a schedule by type and ID tags: - OpenStorageSchedule get: operationId: OpenStorageSchedule_Inspect parameters: - description: 'Type is schedule type (cast to string from a Job.Type enum, as the version of protoc-gen-grpc-gateway on release branch doesn''t support enum type in REST API path parameter)' in: path name: type required: true schema: type: string - description: ID of the schedule in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkInspectScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect queries information of a schedule by type and ID tags: - OpenStorageSchedule /v1/storagepolicies: get: operationId: OpenStoragePolicy_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns a list of storage policies tags: - OpenStoragePolicy post: operationId: OpenStoragePolicy_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Creates a storage policy tags: - OpenStoragePolicy put: operationId: OpenStoragePolicy_Update requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Updates specified storage policy tags: - OpenStoragePolicy /v1/storagepolicies/default: get: operationId: OpenStoragePolicy_DefaultInspect responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyDefaultInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'DefaultInspect return default storage policy if any, otherwise empty response' tags: - OpenStoragePolicy /v1/storagepolicies/default/{name}: post: operationId: OpenStoragePolicy_SetDefault parameters: - description: 'name of policy to set as default storage policy for volume creation This policy will be used to validate/update volume configuration' in: path name: name required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicySetDefaultRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicySetDefaultResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Set specified storage policy as default policy tags: - OpenStoragePolicy /v1/storagepolicies/inspect/{name}: get: operationId: OpenStoragePolicy_Inspect parameters: - description: name of storage policy to retrive in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns information about a specified storage policy tags: - OpenStoragePolicy /v1/storagepolicies/release: post: operationId: OpenStoragePolicy_Release requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyReleaseRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyReleaseResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Release specified storage policy constraint for volume creation' tags: - OpenStoragePolicy /v1/storagepolicies/{name}: delete: operationId: OpenStoragePolicy_Delete parameters: - description: name of storage policy to delete in: path name: name required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkOpenStoragePolicyDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Deletes specified storage policy tags: - OpenStoragePolicy /v1/storagepools/rebalance: put: operationId: OpenStoragePool_Rebalance responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkStorageRebalanceResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Rebalance creates a new rebalance task tags: - OpenStoragePool /v1/storagepools/rebalance/job: get: operationId: OpenStoragePool_EnumerateRebalanceJobs responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkEnumerateRebalanceJobsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: EnumerateRebalanceJobs returns all rebalance jobs currently known to the system tags: - OpenStoragePool /v1/storagepools/rebalance/job/{id}: get: operationId: OpenStoragePool_GetRebalanceJobStatus parameters: - description: ID of the rebalance job in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkGetRebalanceJobStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: GetRebalanceJobStatus returns rebalance status for specified job tags: - OpenStoragePool put: operationId: OpenStoragePool_UpdateRebalanceJobState parameters: - description: ID of the rebalance job in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkUpdateRebalanceJobResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'UpdateRebalanceJobState updates existing rebalance task state. Only acceptable values are StorageRebalanceJobState_PAUSED - acceptable only from running state StorageRebalanceJobState_CANCELLED - acceptable only from running/pause state StorageRebalanceJobState_RUNNING - acceptable only from pause state' tags: - OpenStoragePool /v1/storagepools/rebalance/schedule: delete: operationId: OpenStoragePool_DeleteRebalanceSchedule responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkDeleteRebalanceScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: DeleteRebalanceSchedule deletes the rebalance schedule tags: - OpenStoragePool get: operationId: OpenStoragePool_GetRebalanceSchedule responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkGetRebalanceScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: GetRebalanceSchedule returns the information of rebalance schedule tags: - OpenStoragePool post: operationId: OpenStoragePool_CreateRebalanceSchedule responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCreateRebalanceScheduleResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: CreateRebalanceSchedule creates a scheudle for the input rebalance requests tags: - OpenStoragePool /v1/storagepools/resize/{uuid}: put: operationId: OpenStoragePool_Resize parameters: - description: UUID of the storage pool to inspect in: path name: uuid required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkStoragePoolResizeResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Resize expands the specified storage pool based on the request parameters tags: - OpenStoragePool /v1/verify-checksum/start: post: operationId: OpenStorageVerifyChecksum_Start requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVerifyChecksumStartRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVerifyChecksumStartResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Start a verify checksum background operation on a volume. tags: - OpenStorageVerifyChecksum /v1/verify-checksum/status: get: operationId: OpenStorageVerifyChecksum_Status parameters: - description: Id of the volume. in: query name: volume_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVerifyChecksumStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Get Status of a verify checksum background operation on a volume tags: - OpenStorageVerifyChecksum /v1/verify-checksum/stop: post: operationId: OpenStorageVerifyChecksum_Stop requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVerifyChecksumStopRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVerifyChecksumStopResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Stop a verify checksum background operation on a volume tags: - OpenStorageVerifyChecksum /v1/volume/catalog: post: operationId: OpenStorageVolume_VolumeCatalog requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCatalogRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCatalogResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Gets the volume catalog of an attached and mounted volume. Returns the entire tree up to "n" depth (default is all of it) Takes a path that can be used as the new root for the catalog request.' tags: - OpenStorageVolume /v1/volumemigrate: get: operationId: OpenStorageMigrate_Status parameters: - description: Task id for which to return status. in: query name: request.task_id required: false schema: type: string - description: ID of the cluster for which to return migration statuses. in: query name: request.cluster_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudMigrateStatusResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Status for migration operation. If status request is empty, status for all migration operation will be returned.' tags: - OpenStorageMigrate post: operationId: OpenStorageMigrate_Start requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudMigrateStartRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudMigrateStartResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Start a migration operation tags: - OpenStorageMigrate /v1/volumemigrate/cancel: post: operationId: OpenStorageMigrate_Cancel requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudMigrateCancelRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkCloudMigrateCancelResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Cancel a migration operation tags: - OpenStorageMigrate /v1/volumes: get: operationId: OpenStorageVolume_Enumerate responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns a list of volume ids tags: - OpenStorageVolume post: description: "Requires access AccessType.Read when cloning from a parent volume.\n\ \n##### Example\n{% codetabs name=\"Golang\", type=\"go\" -%}\nid, err :=\ \ client.Create(context.Background(), &api.SdkVolumeCreateRequest{\n Name:\ \ \"volume-12345-east\",\n Spec: &api.VolumeSpec {\n Size: 1234567,\n\ \ },\n})\n{%- language name=\"Python\", type=\"py\" -%}\nen_resp = client.Create(api_pb2.SdkVolumeCreateRequest(\n\ \ name=\"volume-12345-east\",\n spec=api_pb2.VolumeSpec(size=1234567)))\n\ {%- endcodetabs %}" operationId: OpenStorageVolume_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Create creates a volume according to the specification provided tags: - OpenStorageVolume /v1/volumes/clone: post: description: Requires access AccessType.Read of volume operationId: OpenStorageVolume_Clone requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCloneRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCloneResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Clone creates a new writable volume cloned from an existing volume tags: - OpenStorageVolume /v1/volumes/filters: post: operationId: OpenStorageVolume_EnumerateWithFilters requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeEnumerateWithFiltersRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeEnumerateWithFiltersResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Enumerate returns a list of volume ids that match the labels if any are provided. tags: - OpenStorageVolume /v1/volumes/inspect/{volume_id}: get: description: Requires access AccessType.Read of volume operationId: OpenStorageVolume_Inspect parameters: - description: Id of volume to inspect in: path name: volume_id required: true schema: type: string - description: 'Deep inspection is used to collect more information about the volume. Setting this value may delay the request.' in: query name: options.deep required: false schema: type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeInspectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Inspect returns information about a volume tags: - OpenStorageVolume /v1/volumes/inspectwithfilters: post: operationId: OpenStorageVolume_InspectWithFilters requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeInspectWithFiltersRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeInspectWithFiltersResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Returns information for a list of volumes that match a filter. This call is a helper function like calling `OpenStorageVolume.EnumerateWithFilters` then having it return the contents of each of those volumes `OpenStorageVolume.Inspect()`. Take care in using this call when requesting large number of volumes because it will block until it has all the information requested before returning.' tags: - OpenStorageVolume /v1/volumes/snapshot/schedules/{volume_id}: post: description: Requires access AccessType.Write of volume operationId: OpenStorageVolume_SnapshotScheduleUpdate parameters: - description: Id of volume in: path name: volume_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotScheduleUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotScheduleUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Sets the snapshot schedules. This information is saved in the VolumeSpec.snapshot_schedule as `policy=,...`. This function will overwrite any policy values in the volume. To delete the policies in the volume send no policies.' tags: - OpenStorageVolume /v1/volumes/snapshots: get: operationId: OpenStorageVolume_SnapshotEnumerate parameters: - description: Get the snapshots for this volume id. in: query name: volume_id required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotEnumerateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: SnapshotEnumerate returns a list of snapshots for a specific volume tags: - OpenStorageVolume post: description: Requires access AccessType.Read of volume operationId: OpenStorageVolume_SnapshotCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotCreateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'SnapshotCreate creates a snapshot of a volume. This creates an immutable (read-only), point-in-time snapshot of a volume. To create a new writable volume from a snapshot, please use OpenStorageVolume.Clone().' tags: - OpenStorageVolume /v1/volumes/snapshots/filters/{volume_id}: post: operationId: OpenStorageVolume_SnapshotEnumerateWithFilters parameters: - description: (optional) Get the snapshots for this volume id in: path name: volume_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotEnumerateWithFiltersRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotEnumerateWithFiltersResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'SnapshotEnumerate returns a list of snapshots. To filter all the snapshots for a specific volume which may no longer exist, specify a volume id. Labels can also be used to filter the snapshot list. If neither are provided all snapshots will be returned.' tags: - OpenStorageVolume /v1/volumes/snapshots/restore: post: description: Requires access AccessType.Write of volume operationId: OpenStorageVolume_SnapshotRestore requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotRestoreRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeSnapshotRestoreResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: SnapshotRestore restores a volume to a specified snapshot tags: - OpenStorageVolume /v1/volumes/stats/{volume_id}: get: description: Requires access AccessType.Read of volume operationId: OpenStorageVolume_Stats parameters: - description: Id of the volume to get statistics in: path name: volume_id required: true schema: type: string - description: 'When set to false the stats are in /proc/diskstats style stats. When set to true the stats are stats for a specific duration.' in: query name: not_cumulative required: false schema: type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeStatsResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Stats returns the statistics for the requested volume tags: - OpenStorageVolume /v1/volumes/usage/{volume_id}: get: description: 'Requires access AccessType.Read of volume ##### Error codes: * codes.Aborted : Command was aborted and only total_bytes field is valid * code.Unimmplemented : Command is not suported this kernel.Only total_bytes field is valid;' operationId: OpenStorageVolume_CapacityUsage parameters: - description: Id of the snapshot/volume to get capacity usage details in: path name: volume_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeCapacityUsageResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: CapacityUsage returns volume/snapshot's capacity usage details tags: - OpenStorageVolume /v1/volumes/{volume_id}: delete: description: Requires access AccessType.Admin of volume operationId: OpenStorageVolume_Delete parameters: - description: Id of volume to delete in: path name: volume_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeDeleteResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Delete deletes the provided volume tags: - OpenStorageVolume put: description: Requires access AccessType.Write of volume operationId: OpenStorageVolume_Update parameters: - description: Id of the volume to update in: path name: volume_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/apiSdkVolumeUpdateResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: 'Update provides a method for manipulating the specification and attributes of a volume. Set can be used to resize a volume, update labels, change replica count, and much more.' tags: - OpenStorageVolume /v1/watch: post: description: Requires access AccessType.Read operationId: OpenStorageWatch_Watch requestBody: content: application/json: schema: $ref: '#/components/schemas/apiSdkWatchRequest' required: true responses: '200': content: application/json: schema: properties: error: $ref: '#/components/schemas/runtimeStreamError' result: $ref: '#/components/schemas/apiSdkWatchResponse' title: Stream result of apiSdkWatchResponse type: object description: A successful response.(streaming responses) default: content: application/json: schema: $ref: '#/components/schemas/runtimeError' description: An unexpected error response. summary: Watch on resources managed by the driver and receive them as a stream of events. tags: - OpenStorageWatch security: - bearerAuth: []