API Reference

Table of Contents

OpenStorageCloudBackup

OpenStorageCloudBackup service manages backing up volumes to a cloud location like Amazon, Google, or Azure.

Backup

To create a backup, you must first call the Create() call for a specified volume. To see the status of this request, use Status() which returns a map where the keys are the source volume id.

Restore

To restore, you would pass a backup_id of a successful backup. backup_id can be retreived by calling Enumerate() for a specified volume. Pass this backup_id and a new volume name to Restore() to start restoring a new volume from an existing backup. To see the status of this restore, pass volume id returned by Restore() to input to Status()

Create

rpc Create(SdkCloudBackupCreateRequest) SdkCloudBackupCreateResponse

Creates a backup request for a specified volume. Use OpenStorageCloudBackup.Status() to get the current status of the backup request.

Restore

rpc Restore(SdkCloudBackupRestoreRequest) SdkCloudBackupRestoreResponse

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.

Delete

rpc Delete(SdkCloudBackupDeleteRequest) SdkCloudBackupDeleteResponse

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.

DeleteAll

rpc DeleteAll(SdkCloudBackupDeleteAllRequest) SdkCloudBackupDeleteAllResponse

DeleteAll deletes all the backups in the cloud for the specified volume.

Enumerate

rpc Enumerate(SdkCloudBackupEnumerateRequest) SdkCloudBackupEnumerateResponse

Return a list of backups for the specified volume

Status

rpc Status(SdkCloudBackupStatusRequest) SdkCloudBackupStatusResponse

Status returns the status of any cloud backups of a volume

Catalog

rpc Catalog(SdkCloudBackupCatalogRequest) SdkCloudBackupCatalogResponse

Catalog returns a list of the contents in the backup

History

rpc History(SdkCloudBackupHistoryRequest) SdkCloudBackupHistoryResponse

History returns a list of backups for a specified volume

StateChange

rpc StateChange(SdkCloudBackupStateChangeRequest) SdkCloudBackupStateChangeResponse

StateChange can be used to stop, pause, and restart a backup

SchedCreate

rpc SchedCreate(SdkCloudBackupSchedCreateRequest) SdkCloudBackupSchedCreateResponse

Create cloud backup schedule

SchedDelete

rpc SchedDelete(SdkCloudBackupSchedDeleteRequest) SdkCloudBackupSchedDeleteResponse

Delete cloud backup schedule

SchedEnumerate

rpc SchedEnumerate(SdkCloudBackupSchedEnumerateRequest) SdkCloudBackupSchedEnumerateResponse

Enumerate cloud backup schedules

OpenStorageCluster

OpenStorageCluster service provides the methods to manage the cluster

InspectCurrent

rpc InspectCurrent(SdkClusterInspectCurrentRequest) SdkClusterInspectCurrentResponse

InspectCurrent returns information about the current cluster

OpenStorageCredentials

OpenStorageCredentials is a service used to manage the cloud credentials which can then be used by the OpenStorageCloudBackup service

Create

rpc Create(SdkCredentialCreateRequest) SdkCredentialCreateResponse

Create is used to submit cloud credentials. It will return an id of the credentials once they are verified to work.

Example

Golang
Python
id, err := client.Create(context.Background(), &api.SdkCredentialCreateRequest{
    Name: "awscred",
    CredentialType: &api.SdkCredentialCreateRequest_AwsCredential{
      AwsCredential: &api.SdkAwsCredentialRequest{
      AccessKey: "dummy-access",
      SecretKey: "dummy-secret",
      Endpoint:  "dummy-endpoint",
      Region:    "dummy-region",
    },
  },
})
en_resp = client.Create(api_pb2.SdkCredentialCreateRequest(
  name='awscred',
  aws_credential=api_pb2.SdkAwsCredentialRequest(
    access_key='dummy-access',
    secret_key='dumm-secret',
    endpoint='dummy-endpoint',
    region='dummy-region')))

Enumerate

rpc Enumerate(SdkCredentialEnumerateRequest) SdkCredentialEnumerateResponse

Enumerate returns a list of credential ids

Inspect

rpc Inspect(SdkCredentialInspectRequest) SdkCredentialInspectResponse

Inspect returns the information about a credential, but does not return the secret key.

Delete

rpc Delete(SdkCredentialDeleteRequest) SdkCredentialDeleteResponse

Delete a specified credential

Validate

rpc Validate(SdkCredentialValidateRequest) SdkCredentialValidateResponse

Validate is used to validate credentials

OpenStorageIdentity

OpenStorageIdentity service provides methods to obtain information about the cluster

Capabilities

rpc Capabilities(SdkIdentityCapabilitiesRequest) SdkIdentityCapabilitiesResponse

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.

Version

rpc Version(SdkIdentityVersionRequest) SdkIdentityVersionResponse

Version returns version information about the system.

OpenStorageMountAttach

OpenStorageMountAttach is a service used to manage node access to a volume. Note, these APIs are here for testing or diagnostics purposes only. In normal operations, the Container Orchestration (CO) system is managing all mount and attach calls through the CSI interface. The normal usage is once volumes are created, to let the CO manage the node access functions to the volume.

Attach

rpc Attach(SdkVolumeAttachRequest) SdkVolumeAttachResponse

Attach attaches device to the host that the client is communicating with.

Detach

rpc Detach(SdkVolumeDetachRequest) SdkVolumeDetachResponse

Detaches a the volume from the host

Mount

rpc Mount(SdkVolumeMountRequest) SdkVolumeMountResponse

Mount mounts an attached volume in the host that the client is communicating with

Unmount

rpc Unmount(SdkVolumeUnmountRequest) SdkVolumeUnmountResponse

Unmount unmounts a mounted volume in the host that the client is communicating with

OpenStorageNode

OpenStorageNode is a service used to manage nodes in the cluster

Inspect

rpc Inspect(SdkNodeInspectRequest) SdkNodeInspectResponse

Inspect returns information about the specified node

InspectCurrent

rpc InspectCurrent(SdkNodeInspectCurrentRequest) SdkNodeInspectCurrentResponse

InspectCurrent returns information about the storage node where the client is currently connected to.

Enumerate

rpc Enumerate(SdkNodeEnumerateRequest) SdkNodeEnumerateResponse

Enumerate returns the ids of all the nodes in the current cluster

OpenStorageObjectstore

OpenStorageObjectstore is a service used to manage object store services on volumes

Inspect

rpc Inspect(SdkObjectstoreInspectRequest) SdkObjectstoreInspectResponse

Inspect returns information about the object store endpoint

Create

rpc Create(SdkObjectstoreCreateRequest) SdkObjectstoreCreateResponse

Creates creates an object store endpoint on specified volume

Delete

rpc Delete(SdkObjectstoreDeleteRequest) SdkObjectstoreDeleteResponse

Delete destroys the object store endpoint on the volume

Update

rpc Update(SdkObjectstoreUpdateRequest) SdkObjectstoreUpdateResponse

Updates provided objectstore status. This call can be used to stop and start the server while maintaining the same object storage id.

OpenStorageSchedulePolicy

OpenStorageSchedulePolicy service is used to manage the automated snapshots for a volume

Create

rpc Create(SdkSchedulePolicyCreateRequest) SdkSchedulePolicyCreateResponse

Create creates a new snapshot schedule. They can be setup daily, weekly, or monthly.

Update

rpc Update(SdkSchedulePolicyUpdateRequest) SdkSchedulePolicyUpdateResponse

Update a snapshot schedule

Enumerate

rpc Enumerate(SdkSchedulePolicyEnumerateRequest) SdkSchedulePolicyEnumerateResponse

Enumerate returns a list of schedules

Inspect

rpc Inspect(SdkSchedulePolicyInspectRequest) SdkSchedulePolicyInspectResponse

Inspect returns information about a specified schedule

Delete

rpc Delete(SdkSchedulePolicyDeleteRequest) SdkSchedulePolicyDeleteResponse

Delete removes a snapshot schedule

OpenStorageVolume

OpenStorageVolume is a service used to manage the volumes of a storage system

Create

rpc Create(SdkVolumeCreateRequest) SdkVolumeCreateResponse

Create creates a volume according to the specification provided

Example

Golang
Python
id, err := client.Create(context.Background(), &api.SdkVolumeCreateRequest{
  Name: "volume-12345-east",
  Spec: &api.VolumeSpec {
    Size: 1234567,
  },
})
en_resp = client.Create(api_pb2.SdkVolumeCreateRequest(
  name="volume-12345-east",
  spec=api_pb2.VolumeSpec(size=1234567)))

Clone

rpc Clone(SdkVolumeCloneRequest) SdkVolumeCloneResponse

Clone creates a new writable volume cloned from an existing volume

Delete

rpc Delete(SdkVolumeDeleteRequest) SdkVolumeDeleteResponse

Delete deletes the provided volume

Inspect

rpc Inspect(SdkVolumeInspectRequest) SdkVolumeInspectResponse

Inspect returns information about a volume

Update

rpc Update(SdkVolumeUpdateRequest) SdkVolumeUpdateResponse

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.

Stats

rpc Stats(SdkVolumeStatsRequest) SdkVolumeStatsResponse

Stats returns the statistics for the requested volume

CapacityUsage

rpc CapacityUsage(SdkVolumeCapacityUsageRequest) SdkVolumeCapacityUsageResponse

CapacityUsage returns volume/snapshot's capacity usage details

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;

    Enumerate

rpc Enumerate(SdkVolumeEnumerateRequest) SdkVolumeEnumerateResponse

Enumerate returns a list of volume ids

EnumerateWithFilters

rpc EnumerateWithFilters(SdkVolumeEnumerateWithFiltersRequest) SdkVolumeEnumerateWithFiltersResponse

Enumerate returns a list of volume ids that match the labels if any are provided.

SnapshotCreate

rpc SnapshotCreate(SdkVolumeSnapshotCreateRequest) SdkVolumeSnapshotCreateResponse

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().

SnapshotRestore

rpc SnapshotRestore(SdkVolumeSnapshotRestoreRequest) SdkVolumeSnapshotRestoreResponse

SnapshotRestore restores a volume to a specified snapshot

SnapshotEnumerate

rpc SnapshotEnumerate(SdkVolumeSnapshotEnumerateRequest) SdkVolumeSnapshotEnumerateResponse

SnapshotEnumerate returns a list of snapshots for a specific volume

SnapshotEnumerateWithFilters

rpc SnapshotEnumerateWithFilters(SdkVolumeSnapshotEnumerateWithFiltersRequest) SdkVolumeSnapshotEnumerateWithFiltersResponse

SnapshotEnumerate returns a list of snapshots. To filter all the snapshots for a specific volume which may no longer exist, specifiy a volume id. Labels can also be used to filter the snapshot list. If neither are provided all snapshots will be returned.

SnapshotScheduleUpdate

rpc SnapshotScheduleUpdate(SdkVolumeSnapshotScheduleUpdateRequest) SdkVolumeSnapshotScheduleUpdateResponse

Sets the snapshot schedules. This information is saved in the VolumeSpec.snapshot_schedule as policy=<name>,.... This function will overwrite any policy values in the volume. To delete the policies in the volume send no policies.

Messages

ActiveRequest

Active Request swagger:model

Field Type Description
ReqestKV map ActiveRequest.ReqestKVEntry none

ActiveRequest.ReqestKVEntry

Field Type Description
key int64 none
value string none

ActiveRequests

Active Requests swagger:model

Field Type Description
RequestCount int64 none
ActiveRequest repeated ActiveRequest none

Alert

Alert is a structure that represents an alert object

Field Type Description
id int64 Id for Alert
severity SeverityType Severity of the Alert
alert_type int64 AlertType user defined alert type
message string Message describing the Alert
timestamp google.protobuf.Timestamp Timestamp when Alert occured
resource_id string ResourceId where Alert occured
resource ResourceType Resource where Alert occured
cleared bool Cleared Flag
ttl uint64 Time-to-live in seconds for this Alert
unique_tag string UniqueTag helps identify a unique alert for a given resouce
count int64 Count of such alerts raised so far.
first_seen google.protobuf.Timestamp Timestamp when such alert was raised the very first time.

Alerts

Alerts is an array of Alert objects swagger:model

Field Type Description
alert repeated Alert none

CapacityUsageInfo

Provides details on exclusive and shared storage used by snapshot/volume specifically for copy-on-write(COW) snapshots. Deletion of snapshots and overwirte of volume will affect the exclusive storage used by the other dependent snaps and parent volume.

Field Type Description
exclusive_bytes int64 Storage consumed exclusively by this single snapshot. Deletion of this snapshot may increase the free storage available by this amount.
shared_bytes int64 Storage consumed by this snapshot that is shared with parent and children
total_bytes int64 TotalBytes used by this volume

Catalog

Field Type Description
name string Name of the Directory/File
path string Full Path of the Directory/File
type string Type Directory or File
size uint64 File or Directory Size
LastModified google.protobuf.Timestamp Last Modified
children repeated Catalog Children

CatalogResponse

Field Type Description
root Catalog Root Catalog
report Report Report of total directories and files count

CloudMigrate

CloudMigrateCancelRequest

Request to stop a cloud migration

Field Type Description
operation CloudMigrate.OperationType The type of operation to cancel
cluster_id string ID of the cluster to which migration should be cancelled
target_id string Depending on the operation type this can be a VolumeID or VolumeGroupID

CloudMigrateInfo

Field Type Description
cluster_id string ID of the cluster where the volume is being migrated
local_volume_id string ID of the volume on the local cluster
local_volume_name string Name of the volume on the local cluster
remote_volume_id string ID of the volume on the remote cluster
cloudbackup_id string ID of the cloudbackup used for the migration
current_stage CloudMigrate.Stage Current stage of the volume migration
status CloudMigrate.Status Status of the current stage
last_update google.protobuf.Timestamp Last time the status was updated
last_success google.protobuf.Timestamp Time of the last successful migration of the volume

CloudMigrateInfoList

Field Type Description
list repeated CloudMigrateInfo none

CloudMigrateStartRequest

Request to start a cloud migration

Field Type Description
operation CloudMigrate.OperationType The type of operation to start
cluster_id string ID of the cluster to which volumes are to be migrated
target_id string Depending on the operation type this can be a VolumeID or VolumeGroupID

CloudMigrateStatusResponse

Response with a status of the cloud migration operations

Field Type Description
info map CloudMigrateStatusResponse.InfoEntry Map of cluster id to the status of volumes being migrated

CloudMigrateStatusResponse.InfoEntry

Field Type Description
key string none
value CloudMigrateInfoList none

ClusterPairCreateRequest

Used to send a request to create a cluster pair swagger:model

Field Type Description
remote_cluster_ip string IP of the remote cluster
remote_cluster_port uint32 Port for the remote cluster
remote_cluster_token string Token used to authenticate with the remote cluster
set_default bool Set the new pair as the default

ClusterPairCreateResponse

Response for a pair request swagger:response

Field Type Description
remote_cluster_id string ID of the remote cluster
remote_cluster_name string Name of the remote cluster

ClusterPairDeleteRequest

Request to to delete a cluster pair swagger:model

Field Type Description
cluster_id string ID of the cluster pair to be deleted

ClusterPairGetRequest

Request to get a cluster pair swagger:model

Field Type Description
id string ID of the cluster, if empty gets the default pair

ClusterPairGetResponse

Reponse to get a cluster pair swagger:response

Field Type Description
pair_info ClusterPairInfo Info about the cluster pair

in: body |

ClusterPairInfo

Information about a cluster pair swagger:model

Field Type Description
id string ID of the cluster
name string Name of the cluster
ip string IP of the cluster
port uint32 Port for the cluster
secure bool Flag used to determine if communication is over a secure channel
token string Token associated with cluster
options map ClusterPairInfo.OptionsEntry Key/value pair of options associated with the cluster Opaque to openstorage and interpreted by the drivers

ClusterPairInfo.OptionsEntry

Field Type Description
key string none
value string none

ClusterPairProcessRequest

Used to process a pair request from a remote cluster swagger:model

Field Type Description
source_cluster_id string ID of the cluster requesting the pairing
remote_cluster_token string Token used to authenticate with the remote cluster

ClusterPairProcessResponse

Response after a pairing has been processed swagger:response

Field Type Description
remote_cluster_id string in: body ID of the cluster which processed the pair request
remote_cluster_name string Name of the cluster which processed the pair request

in: body | | options | map ClusterPairProcessResponse.OptionsEntry | Key/value pair of options returned on successful pairing Opaque to openstorage and interpreted by the drivers

in: body |

ClusterPairProcessResponse.OptionsEntry

Field Type Description
key string none
value string none

ClusterPairTokenGetRequest

Request to get the token for a cluster swagger:model

Field Type Description
reset_token bool Reset token if already preset

ClusterPairTokenGetResponse

Response to get the cluster token swagger:model

Field Type Description
token string Token used to authenticate clusters

ClusterPairsEnumerateResponse

Response to enumerate all the cluster pairs swagger:response

Field Type Description
default_id string ID of the default cluster pair

in: body | | pairs | map ClusterPairsEnumerateResponse.PairsEntry | Pairs Info about the cluster pairs

in: body required: false |

ClusterPairsEnumerateResponse.PairsEntry

Field Type Description
key string none
value ClusterPairInfo none

ClusterResponse

ClusterResponse specifies a response that gets returned when requesting the cluster swagger:response clusterResponse

Field Type Description
error string Error code

in: body |

GraphDriverChanges

GraphDriverChanges represent a list of changes between the filesystem layers specified by the ID and Parent. // Parent may be an empty string, in which case there is no parent. Where the Path is the filesystem path within the layered filesystem swagger:model

Field Type Description
path string none
kind GraphDriverChangeType none

Group

Group represents VolumeGroup / namespace All volumes in the same group share this object. swagger:model

Field Type Description
id string Id common identifier across volumes that have the same group.

GroupSnapCreateRequest

GroupSnapCreateRequest specifies a request to create a snapshot of given group. swagger:model

Field Type Description
id string none
Labels map GroupSnapCreateRequest.LabelsEntry none

GroupSnapCreateRequest.LabelsEntry

Field Type Description
key string none
value string none

GroupSnapCreateResponse

GroupSnapCreateRequest specifies a response that get's returned when creating a group snapshot. swagger:response groupSnapCreateResponse

Field Type Description
snapshots map GroupSnapCreateResponse.SnapshotsEntry Created snapshots

in: body Required: true | | error | string | Error message

in: body Required: true |

GroupSnapCreateResponse.SnapshotsEntry

Field Type Description
key string none
value SnapCreateResponse none

LocateResponse

Locate response woul be used to return a set of mounts and/or Container IDs and their mount paths

Field Type Description
mounts map LocateResponse.MountsEntry Map of mounts : /var/lib/osd/
dockerids map LocateResponse.DockeridsEntry Map of docker id's and their mounts : /var/www

LocateResponse.DockeridsEntry

Field Type Description
key string none
value string none

LocateResponse.MountsEntry

Field Type Description
key string none
value string none

ObjectstoreInfo

ObjectstoreInfo is a structure that has current objectstore info swagger:model

Field Type Description
uuid string UUID of objectstore
volume_id string VolumeID of volume used by object store
enabled bool Enable/Disable created objectstore
status string Status of objectstore running/failed
action int64 Action being taken on this objectstore
access_key string AccessKey for login into objectstore
secret_key string SecretKey for login into objectstore
endpoints repeated string Endpoints for accessing objectstore
current_endpoint string CurrentEndpoint on which objectstore server is accessible
access_port int64 AccessPort is objectstore server port
region string Region for this objectstore

ReplicaSet

ReplicaSet set of machine IDs (nodes) to which part of this volume is erasure coded - for clustered storage arrays swagger:model

Field Type Description
nodes repeated string none

Report

Field Type Description
directories int64 Directory count
files int64 File count

RuntimeStateMap

RuntimeStateMap is a list of name value mapping of driver specific runtime information. swagger:model

Field Type Description
runtime_state map RuntimeStateMap.RuntimeStateEntry none

RuntimeStateMap.RuntimeStateEntry

Field Type Description
key string none
value string none

SdkAwsCredentialRequest

Defines credentials for Aws/S3 endpoints

Field Type Description
access_key string Access key
secret_key string Secret key
endpoint string Endpoint
region string Region
disable_ssl bool (optional) Disable SSL connection

SdkAwsCredentialResponse

Defines the response for AWS/S3 credentials

Field Type Description
access_key string Access key
endpoint string Endpoint
region string Region
disable_ssl bool (optional) Disable SSL connection

SdkAzureCredentialRequest

Defines credentials for Azure

Field Type Description
account_name string Account name
account_key string Account key

SdkAzureCredentialResponse

Defines the response for Azure credentials

Field Type Description
account_name string Account name

SdkCloudBackupCatalogRequest

Defines a request to get catalog of a backup stored by a cloud provider

Field Type Description
backup_id string Id of the backup
credential_id string Credential id describe the credentials for the cloud

SdkCloudBackupCatalogResponse

Defines a response containing the contents of a backup stored by a cloud provider

Field Type Description
contents repeated string Contents is listing of backup contents

SdkCloudBackupCreateRequest

Defines a request to create a backup of a volume to the cloud

Field Type Description
volume_id string VolumeID of the volume for which cloudbackup is requested
credential_id string Credential id refers to the cloud credentials needed to backup
full bool Full indicates if full backup is desired even though incremental is possible

SdkCloudBackupCreateResponse

Empty response

SdkCloudBackupDeleteAllRequest

Defines a request to delete all the backups stored by a cloud provider for a specified volume

Field Type Description
src_volume_id string id of the volume for the request
credential_id string Credential id is the credential for cloud to be used for the request

SdkCloudBackupDeleteAllResponse

Empty response

SdkCloudBackupDeleteRequest

Defines a request to delete a single backup stored by a cloud provider

Field Type Description
backup_id string ID is the ID of the cloud backup
credential_id string Credential id is the credential for cloud to be used for the request
force bool 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.

SdkCloudBackupDeleteResponse

Empty response

SdkCloudBackupEnumerateRequest

Defines a request to list the backups stored by a cloud provider. The following combinations can be used to get cloud backup information:

  • 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.
Field Type Description
src_volume_id string (optional) Source id of the volume for the request.
cluster_id string (optional) Cluster id specifies the cluster for the request
credential_id string Credential id is the credential for cloud to be used for the request
all bool (optional) All indicates if the request should show cloud backups for all clusters or the current cluster.

SdkCloudBackupEnumerateResponse

Defines a response which lists all the backups stored by a cloud provider

Field Type Description
backups repeated SdkCloudBackupInfo none

SdkCloudBackupHistoryItem

SdkCloudBackupHistoryItem contains information about a backup for a specific volume

Field Type Description
src_volume_id string SrcVolumeID is volume ID which was backedup
timestamp google.protobuf.Timestamp TimeStamp is the time at which either backup completed/failed
status SdkCloudBackupStatusType Status indicates whether backup was completed/failed

SdkCloudBackupHistoryRequest

Defines a request to retreive the history of the backups for a specific volume to a cloud provider

Field Type Description
src_volume_id string This optional value defines which history of backups is being requested. If not provided, it will return the history for all volumes.

SdkCloudBackupHistoryResponse

Defines a response containing a list of history of backups to a cloud provider

Field Type Description
history_list repeated SdkCloudBackupHistoryItem HistoryList is list of past backups on this volume

SdkCloudBackupInfo

SdkCloudBackupInfo has information about a backup stored by a cloud provider

Field Type Description
id string This is the id as represented by the cloud provider
src_volume_id string Source volumeID of the backup
src_volume_name string Name of the sourceVolume of the backup
timestamp google.protobuf.Timestamp Timestamp is the timestamp at which the source volume was backed up to cloud
metadata map SdkCloudBackupInfo.MetadataEntry Metadata associated with the backup
status SdkCloudBackupStatusType Status indicates the status of the backup

SdkCloudBackupInfo.MetadataEntry

Field Type Description
key string none
value string none

SdkCloudBackupRestoreRequest

Defines a request to restore a volume from an existing backup stored by a cloud provider

Field Type Description
backup_id string Backup ID being restored
restore_volume_name string Optional volume Name of the new volume to be created in the cluster for restoring the cloudbackup
credential_id string The credential to be used for restore operation
node_id string Optional for provisioning restore volume (ResoreVolumeName should not be specified)

SdkCloudBackupRestoreResponse

Defines a response when restoring a volume from a backup stored by a cloud provider

Field Type Description
restore_volume_id string VolumeID to which the backup is being restored

SdkCloudBackupSchedCreateRequest

Defines a request to create a schedule for volume backups to a cloud provider

Field Type Description
cloud_sched_info SdkCloudBackupScheduleInfo Cloud Backup Schedule info

SdkCloudBackupSchedCreateResponse

Defines a response containing the id of a schedule for a volume backup to a cloud provider

Field Type Description
backup_schedule_id string Id of newly created backup schedule

SdkCloudBackupSchedDeleteRequest

Defines a request to delete a backup schedule

Field Type Description
backup_schedule_id string Id of cloud backup to delete

SdkCloudBackupSchedDeleteResponse

Empty response

SdkCloudBackupSchedEnumerateRequest

Empty request

SdkCloudBackupSchedEnumerateResponse

Defines a response containing a map listing the schedules for volume backups to a cloud provider

Field Type Description
cloud_sched_list map SdkCloudBackupSchedEnumerateResponse.CloudSchedListEntry Returns list of backup schedules

SdkCloudBackupSchedEnumerateResponse.CloudSchedListEntry

Field Type Description
key string none
value SdkCloudBackupScheduleInfo none

SdkCloudBackupScheduleInfo

SdkCloudBackupScheduleInfo describes a schedule for volume backups to a cloud provider

Field Type Description
src_volume_id string The schedule's source volume
credential_id string The cloud credential used with this schedule
schedules repeated SdkSchedulePolicyInterval Schedules are the frequencies of the backup
max_backups uint64 MaxBackups are the maximum number of backups retained in cloud.Older backups are deleted

SdkCloudBackupStateChangeRequest

Defines a request to change the state of a backup or restore to or from a cloud provider

Field Type Description
src_volume_id string Describes the volume id on which backup/restore state change is being requested
requested_state SdkCloudBackupRequestedState The desired state of the operation

SdkCloudBackupStateChangeResponse

Empty response

SdkCloudBackupStatus

SdkCloudBackupStatus defines the status of a backup stored by a cloud provider

Field Type Description
backup_id string This is the id as represented by the cloud provider
optype SdkCloudBackupOpType OpType indicates if this is a backup or restore
status SdkCloudBackupStatusType State indicates if the op is currently active/done/failed
bytes_done uint64 BytesDone indicates total Bytes uploaded/downloaded
start_time google.protobuf.Timestamp StartTime indicates Op's start time
completed_time google.protobuf.Timestamp CompletedTime indicates Op's completed time
node_id string NodeID is the ID of the node where this Op is active

SdkCloudBackupStatusRequest

Defines a request to retreive the status of a backup or restore for a specified volume

Field Type Description
volume_id string This is an optional value which is used to get information on the status of a backup for the specified volume. If no volume id is provided, then status for all volumes is returned.
local bool Local indicates if only those backups/restores that are active on current node must be returned

SdkCloudBackupStatusResponse

Defines a response containing the status of the backups for a specified volume

Field Type Description
statuses map SdkCloudBackupStatusResponse.StatusesEntry Statuses is list of currently active/failed/done backup/restores where the key is the volume ids of current volumes being backed up or restored

SdkCloudBackupStatusResponse.StatusesEntry

Field Type Description
key string none
value SdkCloudBackupStatus none

SdkClusterInspectCurrentRequest

Empty request

SdkClusterInspectCurrentResponse

Defines a response when inspecting the current cluster

Field Type Description
cluster StorageCluster Cluster information

SdkCredentialCreateRequest

Defines a request to create credentials

Field Type Description
name string Name of the credential
bucket string (optional) Name of bucket
encryption_key string (optional) Key used to encrypt the data
oneof credential_type.aws_credential SdkAwsCredentialRequest Credentials for AWS/S3
oneof credential_type.azure_credential SdkAzureCredentialRequest Credentials for Azure
oneof credential_type.google_credential SdkGoogleCredentialRequest Credentials for Google

SdkCredentialCreateResponse

Defines a response from creating a credential

Field Type Description
credential_id string Id of the credentials

SdkCredentialDeleteRequest

Defines the request to delete credentials

Field Type Description
credential_id string Id for credentials

SdkCredentialDeleteResponse

Empty response

SdkCredentialEnumerateRequest

Empty request

SdkCredentialEnumerateResponse

Defines response for a enumeration of credentials

Field Type Description
credential_ids repeated string List of credentials

SdkCredentialInspectRequest

Defines the request to inspection for credentials

Field Type Description
credential_id string Id of the credential

SdkCredentialInspectResponse

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.

Field Type Description
credential_id string Credential id
name string Name of the credential
bucket string (optional) Name of bucket
oneof credential_type.aws_credential SdkAwsCredentialResponse Aws credentials
oneof credential_type.azure_credential SdkAzureCredentialResponse Azure credentials
oneof credential_type.google_credential SdkGoogleCredentialResponse Google credentials

SdkCredentialValidateRequest

Defines a request to validate credentials

Field Type Description
credential_id string Id of the credentials

SdkCredentialValidateResponse

Empty response

SdkGoogleCredentialRequest

Defines credentials for Google

Field Type Description
project_id string Project ID
json_key string JSON Key

SdkGoogleCredentialResponse

Defines the response for Google credentials

Field Type Description
project_id string Project ID

SdkIdentityCapabilitiesRequest

Empty request

SdkIdentityCapabilitiesResponse

Defines a response containing the capabilites of the cluster

Field Type Description
capabilities repeated SdkServiceCapability Provides all the capabilites supported by the cluster

SdkIdentityVersionRequest

Empty request

SdkIdentityVersionResponse

Defines a response containing version information

Field Type Description
sdk_version SdkVersion OpenStorage SDK version used by the server
version StorageVersion Version information about the storage system

SdkNodeEnumerateRequest

Empty request

SdkNodeEnumerateResponse

Defines a response with a list of nodes

Field Type Description
node_ids repeated string List of all the node ids in the cluster

SdkNodeInspectCurrentRequest

Empty request

SdkNodeInspectCurrentResponse

Defines a response when inspecting a node

Field Type Description
node StorageNode Node information

SdkNodeInspectRequest

Defines a request when inspecting a node

Field Type Description
node_id string Id of node to inspect

SdkNodeInspectResponse

Defines a response when inspecting a node

Field Type Description
node StorageNode Node information

SdkObjectstoreCreateRequest

Defines a request to create an object store

Field Type Description
volume_id string Volume on which objectstore will be running

SdkObjectstoreCreateResponse

Defines a response when an object store has been created for a specified volume

Field Type Description
objectstore_status ObjectstoreInfo Created objecstore status

SdkObjectstoreDeleteRequest

Defines a request to delete an object store service from a volume

Field Type Description
objectstore_id string Id of the object store to delete

SdkObjectstoreDeleteResponse

Empty response

SdkObjectstoreInspectRequest

Defines a request to get information about an object store endpoint

Field Type Description
objectstore_id string Id of the object store

SdkObjectstoreInspectResponse

Defines a response when inspecting an object store endpoint

Field Type Description
objectstore_status ObjectstoreInfo Contains information about the object store requested

SdkObjectstoreUpdateRequest

Defines a request to update an object store

Field Type Description
objectstore_id string Objectstore Id to update
enable bool enable/disable objectstore

SdkObjectstoreUpdateResponse

Empty response

SdkSchedulePolicy

Defines a schedule policy

Field Type Description
name string Name of the schedule policy
schedules repeated SdkSchedulePolicyInterval Schedule policies

SdkSchedulePolicyCreateRequest

Define a schedule policy request

Field Type Description
schedule_policy SdkSchedulePolicy Schedule Policy

SdkSchedulePolicyCreateResponse

Empty response

SdkSchedulePolicyDeleteRequest

Define schedule policy deletion request

Field Type Description
name string Name of the schedule policy

SdkSchedulePolicyDeleteResponse

Empty response

SdkSchedulePolicyEnumerateRequest

Empty request

SdkSchedulePolicyEnumerateResponse

Defines a schedule policy enumerate response

Field Type Description
policies repeated SdkSchedulePolicy List of Schedule Policy

SdkSchedulePolicyInspectRequest

Define a schedule policy inspection request

Field Type Description
name string Name of the schedule Policy

SdkSchedulePolicyInspectResponse

Defines a schedule policy inspection response

Field Type Description
policy SdkSchedulePolicy List of Schedule Policy

SdkSchedulePolicyInterval

Defines a schedule policy interval

Field Type Description
retain int64 Number of instances to retain
oneof period_type.daily SdkSchedulePolicyIntervalDaily Daily policy
oneof period_type.weekly SdkSchedulePolicyIntervalWeekly Weekly policy
oneof period_type.monthly SdkSchedulePolicyIntervalMonthly Monthly policy
oneof period_type.periodic SdkSchedulePolicyIntervalPeriodic Periodic policy

SdkSchedulePolicyIntervalDaily

Defines a daily schedule

Field Type Description
hour int32 Range: 0-23
minute int32 Range: 0-59

SdkSchedulePolicyIntervalMonthly

Defines a monthly schedule

Field Type Description
day int32 Range: 1-28
hour int32 Range: 0-59
minute int32 Range: 0-59

SdkSchedulePolicyIntervalPeriodic

Defines a periodic schedule

Field Type Description
seconds int64 Specify the number of seconds between intervals

SdkSchedulePolicyIntervalWeekly

Defines a weekly schedule

Field Type Description
day SdkTimeWeekday none
hour int32 Range: 0-23
minute int32 Range: 0-59

SdkSchedulePolicyUpdateRequest

Define a request to update a schedule policy

Field Type Description
schedule_policy SdkSchedulePolicy Schedule Policy

SdkSchedulePolicyUpdateResponse

Empty response

SdkServiceCapability

Defines a capability of he cluster

Field Type Description
oneof type.service SdkServiceCapability.OpenStorageService service type supported by this cluster

SdkServiceCapability.OpenStorageService

Field Type Description
type SdkServiceCapability.OpenStorageService.Type Type of service supported

SdkVersion

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.

Field Type Description
major int32 SDK version major number
minor int32 SDK version minor number
patch int32 SDK version patch number
version string String representation of the SDK version. Must be in major.minor.patch format.

SdkVolumeAttachRequest

Defines a request to attach a volume to the node receiving this request

Field Type Description
volume_id string Id of volume
options SdkVolumeAttachRequest.Options Options to attach device

SdkVolumeAttachRequest.Options

Options to attach device

Field Type Description
secret_name string 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
secret_key string In case of Kubernetes, this will be the key stored in the Kubernetes secret
secret_context string 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.

SdkVolumeAttachResponse

Defines a response from the node which received the request to attach

Field Type Description
device_path string Device path where device is exported

SdkVolumeCapacityUsageRequest

Defines request to retrieve volume/snapshot capacity usage details

Field Type Description
volume_id string Id of the snapshot/volume to get capacity usage details

SdkVolumeCapacityUsageResponse

Defines response containing volume/snapshot capacity usage details

Field Type Description
capacity_usage_info CapacityUsageInfo CapacityUsage details

SdkVolumeCloneRequest

Defines a request to clone a volume or create a volume from a snapshot

Field Type Description
name string Unique name of the volume. This will be used for idempotency.
parent_id string Parent volume id or snapshot id will create a new volume as a clone of the parent.

SdkVolumeCloneResponse

Defines the response when creating a clone from a volume or a snapshot

Field Type Description
volume_id string Id of new volume

SdkVolumeCreateRequest

Defines a request to create a volume. Use OpenStorageVolume.Update() to update any labels on the volume.

Field Type Description
name string Unique name of the volume. This will be used for idempotency.
spec VolumeSpec Volume specification

SdkVolumeCreateResponse

Defines a response to the creation of a volume

Field Type Description
volume_id string Id of new volume

SdkVolumeDeleteRequest

Defines the request to delete a volume

Field Type Description
volume_id string Id of volume to delete

SdkVolumeDeleteResponse

Empty response

SdkVolumeDetachRequest

Defines a request to detach a volume

Field Type Description
volume_id string Id of the volume
options SdkVolumeDetachRequest.Options none

SdkVolumeDetachRequest.Options

Options to detach device

Field Type Description
force bool Forcefully detach device from the kernel
unmount_before_detach bool Unmount the volume before detaching

SdkVolumeDetachResponse

Empty response

SdkVolumeEnumerateRequest

Defines a request to list volumes

SdkVolumeEnumerateResponse

Defines the response when listing volumes

Field Type Description
volume_ids repeated string List of volumes matching label

SdkVolumeEnumerateWithFiltersRequest

Defines a request to list volumes

Field Type Description
locator VolumeLocator Volumes to match to this locator. If not provided, all volumes will be returned.

SdkVolumeEnumerateWithFiltersResponse

Defines the response when listing volumes

Field Type Description
volume_ids repeated string List of volumes matching label

SdkVolumeInspectRequest

Defines the request to inspect a volume

Field Type Description
volume_id string Id of volume to inspect

SdkVolumeInspectResponse

Defines the response when inspecting a volume

Field Type Description
volume Volume Information about the volume

SdkVolumeMountRequest

Defines a request to mount a volume to the node receiving this request

Field Type Description
volume_id string Id of the volume
mount_path string Mount path for mounting the volume.

SdkVolumeMountResponse

Empty response

SdkVolumeSnapshotCreateRequest

Defines the request when creating a snapshot from a volume.

Field Type Description
volume_id string Id of volume to take the snapshot from
name string Name of the snapshot.
labels map SdkVolumeSnapshotCreateRequest.LabelsEntry Labels to apply to snapshot

SdkVolumeSnapshotCreateRequest.LabelsEntry

Field Type Description
key string none
value string none

SdkVolumeSnapshotCreateResponse

Defines a response after creating a snapshot of a volume

Field Type Description
snapshot_id string Id of immutable snapshot

SdkVolumeSnapshotEnumerateRequest

Defines a request to list the snaphots

Field Type Description
volume_id string Get the snapshots for this volume id

SdkVolumeSnapshotEnumerateResponse

Defines a response when listing snapshots

Field Type Description
volume_snapshot_ids repeated string List of immutable snapshots

SdkVolumeSnapshotEnumerateWithFiltersRequest

Defines a request to list the snaphots

Field Type Description
volume_id string (optional) Get the snapshots for this volume id
labels map SdkVolumeSnapshotEnumerateWithFiltersRequest.LabelsEntry (optional) Get snapshots that match these labels

SdkVolumeSnapshotEnumerateWithFiltersRequest.LabelsEntry

Field Type Description
key string none
value string none

SdkVolumeSnapshotEnumerateWithFiltersResponse

Defines a response when listing snapshots

Field Type Description
volume_snapshot_ids repeated string List of immutable snapshots

SdkVolumeSnapshotRestoreRequest

Defines a request to restore a volume to a snapshot

Field Type Description
volume_id string Id of volume
snapshot_id string Snapshot id to apply to volume_id

SdkVolumeSnapshotRestoreResponse

Empty response

SdkVolumeSnapshotScheduleUpdateRequest

Defines a request to update the snapshot schedule of a volume

Field Type Description
volume_id string Id of volume
snapshot_schedule_names repeated string Names of schedule policies

SdkVolumeSnapshotScheduleUpdateResponse

Empty response

SdkVolumeStatsRequest

Defines a request to retreive volume statistics

Field Type Description
volume_id string Id of the volume to get statistics
not_cumulative bool When set to false the stats are in /proc/diskstats style stats. When set to true the stats are stats for a specific duration.

SdkVolumeStatsResponse

Defines a response containing drive statistics

Field Type Description
stats Stats Statistics for a single volume

SdkVolumeUnmountRequest

Defines a request to unmount a volume on the node receiving this request

Field Type Description
volume_id string Id of volume
mount_path string MountPath for device
options SdkVolumeUnmountRequest.Options Options to unmount device

SdkVolumeUnmountRequest.Options

Options to unmount device

Field Type Description
delete_mount_path bool Delete the mount path on the node after unmounting
no_delay_before_deleting_mount_path bool 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.

SdkVolumeUnmountResponse

Empty response

SdkVolumeUpdateRequest

This request is used to adjust or set new values in the volume

Field Type Description
volume_id string Id of the volume to update
locator VolumeLocator Change locator 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.
spec VolumeSpecUpdate VolumeSpecUpdate provides a method to request that certain values in the VolumeSpec are changed. This is necessary as a separate variable because values like int and bool in the VolumeSpec cannot be determined if they are being requested to change in gRPC proto3. Some of these values may not be able to be changed. Here are a few examples of actions that can be accomplished using the VolumeSpec. To resize the volume: Set a new value in spec.size. To change number of replicas: Adjust spec.ha_level. To change the I/O Profile: Adjust spec.io_profile.

SdkVolumeUpdateResponse

Empty response

SnapCreateRequest

SnapCreateRequest specifies a request to create a snapshot of given volume. swagger:parameters snapVolume

Field Type Description
id string volume id
locator VolumeLocator none
readonly bool none
no_retry bool NoRetry indicates not to retry snapshot creation in the background.

SnapCreateResponse

SnapCreateRequest specifies a response that get's returned when creating a snapshot. swagger:response snapCreateResponse

Field Type Description
volume_create_response VolumeCreateResponse VolumeCreateResponse

in: body Required: true |

Source

Source is a structure that can be given to a volume to seed the volume with data. swagger:model

Field Type Description
parent string A volume id, if specified will create a clone of the parent.
seed string Seed will seed the volume from the specified URI Any additional config for the source comes from the labels in the spec

Stats

Stats is a structure that represents last collected stats for a volume

Field Type Description
reads uint64 Reads completed successfully
read_ms uint64 Time spent in reads in ms
read_bytes uint64 Number of bytes read
writes uint64 Writes completed successfully
write_ms uint64 Time spent in writes in ms
write_bytes uint64 Number of bytes written
io_progress uint64 IOs curently in progress
io_ms uint64 Time spent doing IOs ms
bytes_used uint64 BytesUsed
interval_ms uint64 Interval in ms during which stats were collected

StorageCluster

StorageCluster represents the state and information about the cluster

Field Type Description
status Status Status of the cluster
id string Id of the cluster
name string Name of the cluster

StorageNode

StorageNode describes the state of the node

Field Type Description
id string Id of the node
cpu double Cpu usage of the node
mem_total uint64 Total memory of the node
mem_used uint64 Used memory of the node
mem_free uint64 Free memory of the node
avg_load int64 Average load (percentage)
status Status Node status
disks map StorageNode.DisksEntry List of disks on the node
pools repeated StoragePool List of storage pools this node supports
mgmt_ip string Management IP
data_ip string Data IP
hostname string Hostname of the node
node_labels map StorageNode.NodeLabelsEntry User defined labels for the node
scheduler_node_name string SchedulerNodeName is name of the node in scheduler context. It can be empty if unable to get the name from the scheduler.

StorageNode.DisksEntry

Field Type Description
key string none
value StorageResource none

StorageNode.NodeLabelsEntry

Field Type Description
key string none
value string none

StoragePool

StoragePool groups different storage devices based on their CosType

Field Type Description
ID int32 ID pool ID
Cos CosType Cos reflects the capabilities of this drive pool
Medium StorageMedium Medium underlying storage type
RaidLevel string RaidLevel storage raid level
TotalSize uint64 TotalSize of the pool
Used uint64 Used size of the pool
labels map StoragePool.LabelsEntry Labels is a list of user defined name-value pairs

StoragePool.LabelsEntry

Field Type Description
key string none
value string none

StorageResource

StorageResource groups properties of a storage device. swagger:model

Field Type Description
id string Id is the LUN identifier.
path string Path device path for this storage resource.
medium StorageMedium Storage medium.
online bool True if this device is online.
iops uint64 IOPS
seq_write double SeqWrite
seq_read double SeqRead
randRW double RandRW
size uint64 Total size in bytes.
used uint64 Physical Bytes used.
rotation_speed string True if this device is rotational.
last_scan google.protobuf.Timestamp Timestamp of last time this device was scanned.
metadata bool True if dedicated for metadata.

StorageVersion

Version information about the storage system

Field Type Description
driver string OpenStorage driver name
version string Version of the server
details map StorageVersion.DetailsEntry Extra information provided by the storage system

StorageVersion.DetailsEntry

Field Type Description
key string none
value string none

Volume

Volume represents an abstract storage volume. swagger:model

Field Type Description
id string Self referential volume ID.
source Source Source specified seed data for the volume.
group Group Group volumes in the same group have the same group id.
readonly bool Readonly is true if this volume is to be mounted with readonly access.
locator VolumeLocator User specified locator
ctime google.protobuf.Timestamp Volume creation time
spec VolumeSpec User specified VolumeSpec
usage uint64 Usage is bytes consumed by vtheis volume.
last_scan google.protobuf.Timestamp LastScan is the time when an integrity check was run.
format FSType Format specifies the filesytem for this volume.
status VolumeStatus Status is the availability status of this volume.
state VolumeState State is the current runtime state of this volume.
attached_on string AttachedOn is the node instance identifier for clustered systems.
attached_state AttachState AttachedState shows whether the device is attached for internal or external use.
device_path string DevicePath is the device exported by block device implementations.
secure_device_path string SecureDevicePath is the device path for an encrypted volume.
attach_path repeated string AttachPath is the mounted path in the host namespace.
attach_info map Volume.AttachInfoEntry AttachInfo is a list of name value mappings that provides attach information.
replica_sets repeated ReplicaSet ReplicatSets storage for this volumefor clustered storage arrays.
runtime_state repeated RuntimeStateMap RuntimeState is a lst of name value mapping of driver specific runtime information.
error string Error is the Last recorded error.
volume_consumers repeated VolumeConsumer VolumeConsumers are entities that consume this volume
fs_resize_required bool FsResizeRequired if an FS resize is required on the volume.

Volume.AttachInfoEntry

Field Type Description
key string none
value string none

VolumeConsumer

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 swagger: model

Field Type Description
name string Name is the name of the volume consumer
namespace string Namespace is the namespace of the volume consumer
type string Type is the type of the consumer. E.g a Kubernetes pod
node_id string NodeID is the identifier of the node on which the consumer is running. This identifier would be from the perspective of the container runtime or orchestrator under which the volume consumer resides. For example, NodeID can be name of a minion in Kubernetes.
owner_name string OwnerName is the name of the entity who owns this volume consumer
owner_type string 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.

VolumeCreateRequest

VolumeCreateRequest is a structure that has the locator, source and spec to create a volume swagger:model

Field Type Description
locator VolumeLocator User specified volume name and labels
source Source Source to create volume
spec VolumeSpec The storage spec for the volume

VolumeCreateResponse

VolumeCreateResponse swagger:response volumeCreateResponse

Field Type Description
id string ID of the newly created volume

in: body Required: true | | volume_response | VolumeResponse | Volume Response

in: body Required: true |

VolumeInfo

VolumeInfo swagger:model

Field Type Description
volume_id string none
path string none
storage VolumeSpec none

VolumeLocator

VolumeLocator is a structure that is attached to a volume and is used to carry opaque metadata. swagger:model

Field Type Description
name string User friendly identifier
volume_labels map VolumeLocator.VolumeLabelsEntry A set of name-value pairs that acts as search filters

VolumeLocator.VolumeLabelsEntry

Field Type Description
key string none
value string none

VolumeResponse

VolumeResponse is a structure that wraps an error. swagger:response volumeResponse

Field Type Description
error string Error message

in: body Required: true |

VolumeSetRequest

VolumeSet specifies a request to update a volume. swagger:model

Field Type Description
locator VolumeLocator User specified volume name and labels
spec VolumeSpec The storage spec for the volume
action VolumeStateAction State modification on this volume.
options map VolumeSetRequest.OptionsEntry additional options required for the Set operation.

VolumeSetRequest.OptionsEntry

Field Type Description
key string none
value string none

VolumeSetResponse

VolumeSetResponse swagger:response volumeSetResponse

Field Type Description
volume Volume Volume

in: body Required: true | | volume_response | VolumeResponse | VolumeResponse

in: body Required: true |

VolumeSpec

VolumeSpec has the properties needed to create a volume. swagger:model

Field Type Description
ephemeral bool Ephemeral storage
size uint64 Size specifies the thin provisioned volume size in bytes
format FSType Format specifies the filesystem for this volume.
block_size int64 BlockSize for the filesystem.
ha_level int64 HaLevel specifies the number of copies of data.
cos CosType Cos specifies the relative class of service.
io_profile IoProfile IoProfile provides a hint about application using this volume.
dedupe bool Dedupe specifies if the volume data is to be de-duplicated.
snapshot_interval uint32 SnapshotInterval in minutes, set to 0 to disable snapshots
volume_labels map VolumeSpec.VolumeLabelsEntry VolumeLabels configuration labels
shared bool Shared is true if this volume can be remotely accessed.
replica_set ReplicaSet ReplicaSet is the desired set of nodes for the volume data.
aggregation_level uint32 Aggregatiokn level Specifies the number of parts the volume can be aggregated from.
encrypted bool Encrypted is true if this volume will be cryptographically secured.
passphrase string Passphrase for an encrypted volume
snapshot_schedule string SnapshotSchedule a well known string that specifies when snapshots should be taken.
scale uint32 Scale allows autocreation of volumes.
sticky bool Sticky volumes cannot be deleted until the flag is removed.
group Group Group identifies a consistency group
group_enforced bool GroupEnforced is true if consistency group creation is enforced.
compressed bool Compressed is true if this volume is to be compressed.
cascaded bool Cascaded is true if this volume can be populated on any node from an external source.
journal bool Journal is true if data for the volume goes into the journal.
sharedv4 bool Sharedv4 is true if this volume can be accessed via sharedv4.
queue_depth int32 QueueDepth defines the desired block device queue depth
force_unsupported_fs_type bool Use to force a file system type which is not recommended. The driver may still refuse to use the file system type.
nodiscard bool 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.

VolumeSpec.VolumeLabelsEntry

Field Type Description
key string none
value string none

VolumeSpecUpdate

VolumeSpecUpdate provides a method to set any of the VolumeSpec of an existing volume

Field Type Description
oneof size_opt.size uint64 none
oneof ha_level_opt.ha_level int64 none
oneof cos_opt.cos CosType none
oneof io_profile_opt.io_profile IoProfile none
oneof dedupe_opt.dedupe bool none
oneof snapshot_interval_opt.snapshot_interval uint32 none
volume_labels map VolumeSpecUpdate.VolumeLabelsEntry VolumeLabels configuration labels
oneof shared_opt.shared bool none
replica_set ReplicaSet ReplicaSet is the desired set of nodes for the volume data.
oneof passphrase_opt.passphrase string none
oneof snapshot_schedule_opt.snapshot_schedule string none
oneof scale_opt.scale uint32 none
oneof sticky_opt.sticky bool none
oneof group_opt.group Group none
oneof journal_opt.journal bool none
oneof sharedv4_opt.sharedv4 bool none
oneof queue_depth_opt.queue_depth int32 none

VolumeSpecUpdate.VolumeLabelsEntry

Field Type Description
key string none
value string none

VolumeStateAction

VolumeStateAction specifies desired actions. swagger:model

Field Type Description
attach VolumeActionParam Attach or Detach volume
mount VolumeActionParam Mount or unmount volume
mount_path string MountPath Path where the device is mounted
device_path string DevicePath Path returned in attach

Enums

AlertActionType

Name Number Description
ALERT_ACTION_TYPE_NONE 0 none
ALERT_ACTION_TYPE_DELETE 1 none
ALERT_ACTION_TYPE_CREATE 2 none
ALERT_ACTION_TYPE_UPDATE 3 none

AttachState

Name Number Description
ATTACH_STATE_EXTERNAL 0 Attached and available externally
ATTACH_STATE_INTERNAL 1 Attached but only available internally
ATTACH_STATE_INTERNAL_SWITCH 2 Switching from External to Internal

CloudMigrate.OperationType

Name Number Description
InvalidType 0 none
MigrateCluster 1 Migrate all volumes in the cluster
MigrateVolume 2 Migrate a single volume
MigrateVolumeGroup 3 Migrate a group of volumes

CloudMigrate.Stage

Name Number Description
InvalidStage 0 none
Backup 1 none
Restore 2 none
VolumeUpdate 3 none
Done 4 none

CloudMigrate.Status

Name Number Description
InvalidStatus 0 none
Queued 1 none
Initialized 2 none
InProgress 3 none
Failed 4 none
Complete 5 none

ClusterNotify

Name Number Description
CLUSTER_NOTIFY_DOWN 0 Node is down

CosType

Name Number Description
NONE 0 none
LOW 1 none
MEDIUM 2 none
HIGH 3 none

DriverType

Name Number Description
DRIVER_TYPE_NONE 0 none
DRIVER_TYPE_FILE 1 none
DRIVER_TYPE_BLOCK 2 none
DRIVER_TYPE_OBJECT 3 none
DRIVER_TYPE_CLUSTERED 4 none
DRIVER_TYPE_GRAPH 5 none

FSType

Name Number Description
FS_TYPE_NONE 0 none
FS_TYPE_BTRFS 1 none
FS_TYPE_EXT4 2 none
FS_TYPE_FUSE 3 none
FS_TYPE_NFS 4 none
FS_TYPE_VFS 5 none
FS_TYPE_XFS 6 none
FS_TYPE_ZFS 7 none
FS_TYPE_XFSv2 8 none

GraphDriverChangeType

Name Number Description
GRAPH_DRIVER_CHANGE_TYPE_NONE 0 none
GRAPH_DRIVER_CHANGE_TYPE_MODIFIED 1 none
GRAPH_DRIVER_CHANGE_TYPE_ADDED 2 none
GRAPH_DRIVER_CHANGE_TYPE_DELETED 3 none

IoProfile

Name Number Description
IO_PROFILE_SEQUENTIAL 0 none
IO_PROFILE_RANDOM 1 none
IO_PROFILE_DB 2 none
IO_PROFILE_DB_REMOTE 3 none
IO_PROFILE_CMS 4 none

OperationFlags

Name Number Description
OP_FLAGS_UNKNOWN 0 none
OP_FLAGS_NONE 1 none
OP_FLAGS_DETACH_FORCE 2 Perform a force_detach during detach operation

ResourceType

Name Number Description
RESOURCE_TYPE_NONE 0 none
RESOURCE_TYPE_VOLUME 1 none
RESOURCE_TYPE_NODE 2 none
RESOURCE_TYPE_CLUSTER 3 none
RESOURCE_TYPE_DRIVE 4 none

SdkCloudBackupOpType

CloudBackup operations types

Name Number Description
SdkCloudBackupOpTypeUnknown 0 Unknown
SdkCloudBackupOpTypeBackupOp 1 Backup
SdkCloudBackupOpTypeRestoreOp 2 Restore

SdkCloudBackupRequestedState

SdkCloudBackupRequestedState defines states to set a specified backup or restore to or from a cloud provider

Name Number Description
SdkCloudBackupRequestedStateUnknown 0 Unknown state
SdkCloudBackupRequestedStatePause 1 Pause the backup or restore
SdkCloudBackupRequestedStateResume 2 Resume the backup or restore
SdkCloudBackupRequestedStateStop 3 Stop a backup or restore

SdkCloudBackupStatusType

CloudBackup status types

Name Number Description
SdkCloudBackupStatusTypeUnknown 0 Unkonwn
SdkCloudBackupStatusTypeNotStarted 1 Not started
SdkCloudBackupStatusTypeDone 2 Done
SdkCloudBackupStatusTypeAborted 3 Aborted
SdkCloudBackupStatusTypePaused 4 Paused
SdkCloudBackupStatusTypeStopped 5 Stopped
SdkCloudBackupStatusTypeActive 6 Active
SdkCloudBackupStatusTypeFailed 7 Failed

SdkServiceCapability.OpenStorageService.Type

Name Number Description
UNKNOWN 0 Unknown service
CLUSTER 1 Cluster management
CLOUD_BACKUP 2 Cloud backup of volumes management
CREDENTIALS 3 Credentials management
NODE 4 Node management
OBJECT_STORAGE 5 Object Storage management
SCHEDULE_POLICY 6 Schedule policy management
VOLUME 7 Volume management

SdkTimeWeekday

Defines times of day

Name Number Description
SdkTimeWeekdaySunday 0 Sunday
SdkTimeWeekdayMonday 1 Monday
SdkTimeWeekdayTuesday 2 Tuesday
SdkTimeWeekdayWednesday 3 Wednesday
SdkTimeWeekdayThursday 4 Thursday
SdkTimeWeekdayFriday 5 Friday
SdkTimeWeekdaySaturday 6 Saturday

SdkVersion.Version

These values are constants that can be used by the client and server applications

Name Number Description
MUST_HAVE_ZERO_VALUE 0 Must be set in the proto file; ignore.
Major 0 SDK version major value of this specification
Minor 9 SDK version minor value of this specification
Patch 3 SDK version patch value of this specification

SeverityType

Name Number Description
SEVERITY_TYPE_NONE 0 none
SEVERITY_TYPE_ALARM 1 none
SEVERITY_TYPE_WARNING 2 none
SEVERITY_TYPE_NOTIFY 3 none

Status

Name Number Description
STATUS_NONE 0 none
STATUS_INIT 1 none
STATUS_OK 2 none
STATUS_OFFLINE 3 none
STATUS_ERROR 4 none
STATUS_NOT_IN_QUORUM 5 none
STATUS_DECOMMISSION 6 none
STATUS_MAINTENANCE 7 none
STATUS_STORAGE_DOWN 8 none
STATUS_STORAGE_DEGRADED 9 none
STATUS_NEEDS_REBOOT 10 none
STATUS_STORAGE_REBALANCE 11 none
STATUS_STORAGE_DRIVE_REPLACE 12 none
STATUS_NOT_IN_QUORUM_NO_STORAGE 13 none
STATUS_MAX 14 Add statuses before MAX and update the number for MAX

StorageMedium

Name Number Description
STORAGE_MEDIUM_MAGNETIC 0 Magnetic spinning disk.
STORAGE_MEDIUM_SSD 1 SSD disk
STORAGE_MEDIUM_NVME 2 NVME disk

VolumeActionParam

Name Number Description
VOLUME_ACTION_PARAM_NONE 0 none
VOLUME_ACTION_PARAM_OFF 1 Maps to the boolean value false
VOLUME_ACTION_PARAM_ON 2 Maps to the boolean value true.

VolumeState

VolumeState represents the state of a volume.

Name Number Description
VOLUME_STATE_NONE 0 none
VOLUME_STATE_PENDING 1 Volume is transitioning to new state
VOLUME_STATE_AVAILABLE 2 Volume is ready to be assigned to a container
VOLUME_STATE_ATTACHED 3 Volume is attached to container
VOLUME_STATE_DETACHED 4 Volume is detached but associated with a container
VOLUME_STATE_DETATCHING 5 Volume detach is in progress
VOLUME_STATE_ERROR 6 Volume is in error state
VOLUME_STATE_DELETED 7 Volume is deleted, it will remain in this state while resources are asynchronously reclaimed
VOLUME_STATE_TRY_DETACHING 8 Volume is trying to be detached
VOLUME_STATE_RESTORE 9 Volume is undergoing restore

VolumeStatus

VolumeStatus represents a health status for a volume.

Name Number Description
VOLUME_STATUS_NONE 0 none
VOLUME_STATUS_NOT_PRESENT 1 Volume is not present
VOLUME_STATUS_UP 2 Volume is healthy
VOLUME_STATUS_DOWN 3 Volume is in fail mode
VOLUME_STATUS_DEGRADED 4 Volume is up but with degraded performance In a RAID group, this may indicate a problem with one or more drives

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type

double
double double float

float
float float float

int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int

int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long

uint32
Uses variable-length encoding. uint32 int int/long

uint64
Uses variable-length encoding. uint64 long int/long

sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int

sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long

fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int

fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long

sfixed32
Always four bytes. int32 int int

sfixed64
Always eight bytes. int64 long int/long

bool
bool boolean boolean

string
A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode

bytes
May contain any arbitrary sequence of bytes. string ByteString str

results matching ""

    No results matching ""