API Reference
Table of Contents
- Services
- OpenStorageAlerts
- OpenStorageCloudBackup
- OpenStorageCluster
- OpenStorageClusterDomains
- OpenStorageClusterPair
- OpenStorageCredentials
- OpenStorageIdentity
- OpenStorageMigrate
- OpenStorageMountAttach
- OpenStorageNode
- OpenStorageObjectstore
- OpenStoragePolicy
- OpenStoragePool
- OpenStorageRole
- OpenStorageSchedulePolicy
- OpenStorageVolume
- Messages
- ActiveRequest
- ActiveRequest.ReqestKVEntry
- ActiveRequests
- Alert
- Alerts
- CapacityUsageInfo
- Catalog
- CatalogResponse
- CloudMigrate
- CloudMigrateCancelRequest
- CloudMigrateInfo
- CloudMigrateInfoList
- CloudMigrateStartRequest
- CloudMigrateStartResponse
- CloudMigrateStatusRequest
- CloudMigrateStatusResponse
- CloudMigrateStatusResponse.InfoEntry
- ClusterPairCreateRequest
- ClusterPairCreateResponse
- ClusterPairGetResponse
- ClusterPairInfo
- ClusterPairInfo.OptionsEntry
- ClusterPairMode
- ClusterPairProcessRequest
- ClusterPairProcessResponse
- ClusterPairProcessResponse.OptionsEntry
- ClusterPairTokenGetResponse
- ClusterPairsEnumerateResponse
- ClusterPairsEnumerateResponse.PairsEntry
- ClusterResponse
- ExportSpec
- GraphDriverChanges
- Group
- GroupSnapCreateRequest
- GroupSnapCreateRequest.LabelsEntry
- GroupSnapCreateResponse
- GroupSnapCreateResponse.SnapshotsEntry
- IoStrategy
- LabelSelectorRequirement
- LocateResponse
- LocateResponse.DockeridsEntry
- LocateResponse.MountsEntry
- ObjectstoreInfo
- Ownership
- Ownership.AccessControl
- Ownership.AccessControl.CollaboratorsEntry
- Ownership.AccessControl.GroupsEntry
- ReplicaPlacementSpec
- ReplicaSet
- Report
- RuntimeStateMap
- RuntimeStateMap.RuntimeStateEntry
- SdkAlertsAlertTypeQuery
- SdkAlertsCountSpan
- SdkAlertsDeleteRequest
- SdkAlertsDeleteResponse
- SdkAlertsEnumerateWithFiltersRequest
- SdkAlertsEnumerateWithFiltersResponse
- SdkAlertsOption
- SdkAlertsQuery
- SdkAlertsResourceIdQuery
- SdkAlertsResourceTypeQuery
- SdkAlertsTimeSpan
- SdkAwsCredentialRequest
- SdkAwsCredentialResponse
- SdkAzureCredentialRequest
- SdkAzureCredentialResponse
- SdkCloudBackupCatalogRequest
- SdkCloudBackupCatalogResponse
- SdkCloudBackupCreateRequest
- SdkCloudBackupCreateRequest.LabelsEntry
- SdkCloudBackupCreateResponse
- SdkCloudBackupDeleteAllRequest
- SdkCloudBackupDeleteAllResponse
- SdkCloudBackupDeleteRequest
- SdkCloudBackupDeleteResponse
- SdkCloudBackupEnumerateWithFiltersRequest
- SdkCloudBackupEnumerateWithFiltersRequest.MetadataFilterEntry
- SdkCloudBackupEnumerateWithFiltersResponse
- SdkCloudBackupGroupCreateRequest
- SdkCloudBackupGroupCreateRequest.LabelsEntry
- SdkCloudBackupGroupCreateResponse
- SdkCloudBackupHistoryItem
- SdkCloudBackupHistoryRequest
- SdkCloudBackupHistoryResponse
- SdkCloudBackupInfo
- SdkCloudBackupInfo.MetadataEntry
- SdkCloudBackupRestoreRequest
- SdkCloudBackupRestoreResponse
- SdkCloudBackupSchedCreateRequest
- SdkCloudBackupSchedCreateResponse
- SdkCloudBackupSchedDeleteRequest
- SdkCloudBackupSchedDeleteResponse
- SdkCloudBackupSchedEnumerateRequest
- SdkCloudBackupSchedEnumerateResponse
- SdkCloudBackupSchedEnumerateResponse.CloudSchedListEntry
- SdkCloudBackupSchedUpdateRequest
- SdkCloudBackupSchedUpdateResponse
- SdkCloudBackupScheduleInfo
- SdkCloudBackupScheduleInfo.LabelsEntry
- SdkCloudBackupStateChangeRequest
- SdkCloudBackupStateChangeResponse
- SdkCloudBackupStatus
- SdkCloudBackupStatusRequest
- SdkCloudBackupStatusResponse
- SdkCloudBackupStatusResponse.StatusesEntry
- SdkCloudMigrateCancelRequest
- SdkCloudMigrateCancelResponse
- SdkCloudMigrateStartRequest
- SdkCloudMigrateStartRequest.MigrateAllVolumes
- SdkCloudMigrateStartRequest.MigrateVolume
- SdkCloudMigrateStartRequest.MigrateVolumeGroup
- SdkCloudMigrateStartResponse
- SdkCloudMigrateStatusRequest
- SdkCloudMigrateStatusResponse
- SdkClusterDomainActivateRequest
- SdkClusterDomainActivateResponse
- SdkClusterDomainDeactivateRequest
- SdkClusterDomainDeactivateResponse
- SdkClusterDomainInspectRequest
- SdkClusterDomainInspectResponse
- SdkClusterDomainsEnumerateRequest
- SdkClusterDomainsEnumerateResponse
- SdkClusterInspectCurrentRequest
- SdkClusterInspectCurrentResponse
- SdkClusterPairCreateRequest
- SdkClusterPairCreateResponse
- SdkClusterPairDeleteRequest
- SdkClusterPairDeleteResponse
- SdkClusterPairEnumerateRequest
- SdkClusterPairEnumerateResponse
- SdkClusterPairGetTokenRequest
- SdkClusterPairGetTokenResponse
- SdkClusterPairInspectRequest
- SdkClusterPairInspectResponse
- SdkClusterPairResetTokenRequest
- SdkClusterPairResetTokenResponse
- SdkCredentialCreateRequest
- SdkCredentialCreateResponse
- SdkCredentialDeleteRequest
- SdkCredentialDeleteResponse
- SdkCredentialEnumerateRequest
- SdkCredentialEnumerateResponse
- SdkCredentialInspectRequest
- SdkCredentialInspectResponse
- SdkCredentialValidateRequest
- SdkCredentialValidateResponse
- SdkGoogleCredentialRequest
- SdkGoogleCredentialResponse
- SdkIdentityCapabilitiesRequest
- SdkIdentityCapabilitiesResponse
- SdkIdentityVersionRequest
- SdkIdentityVersionResponse
- SdkNodeEnumerateRequest
- SdkNodeEnumerateResponse
- SdkNodeEnumerateWithFiltersRequest
- SdkNodeEnumerateWithFiltersResponse
- SdkNodeInspectCurrentRequest
- SdkNodeInspectCurrentResponse
- SdkNodeInspectRequest
- SdkNodeInspectResponse
- SdkObjectstoreCreateRequest
- SdkObjectstoreCreateResponse
- SdkObjectstoreDeleteRequest
- SdkObjectstoreDeleteResponse
- SdkObjectstoreInspectRequest
- SdkObjectstoreInspectResponse
- SdkObjectstoreUpdateRequest
- SdkObjectstoreUpdateResponse
- SdkOpenStoragePolicyCreateRequest
- SdkOpenStoragePolicyCreateResponse
- SdkOpenStoragePolicyDefaultInspectRequest
- SdkOpenStoragePolicyDefaultInspectResponse
- SdkOpenStoragePolicyDeleteRequest
- SdkOpenStoragePolicyDeleteResponse
- SdkOpenStoragePolicyEnumerateRequest
- SdkOpenStoragePolicyEnumerateResponse
- SdkOpenStoragePolicyInspectRequest
- SdkOpenStoragePolicyInspectResponse
- SdkOpenStoragePolicyReleaseRequest
- SdkOpenStoragePolicyReleaseResponse
- SdkOpenStoragePolicySetDefaultRequest
- SdkOpenStoragePolicySetDefaultResponse
- SdkOpenStoragePolicyUpdateRequest
- SdkOpenStoragePolicyUpdateResponse
- SdkRole
- SdkRoleCreateRequest
- SdkRoleCreateResponse
- SdkRoleDeleteRequest
- SdkRoleDeleteResponse
- SdkRoleEnumerateRequest
- SdkRoleEnumerateResponse
- SdkRoleInspectRequest
- SdkRoleInspectResponse
- SdkRoleUpdateRequest
- SdkRoleUpdateResponse
- SdkRule
- SdkSchedulePolicy
- SdkSchedulePolicyCreateRequest
- SdkSchedulePolicyCreateResponse
- SdkSchedulePolicyDeleteRequest
- SdkSchedulePolicyDeleteResponse
- SdkSchedulePolicyEnumerateRequest
- SdkSchedulePolicyEnumerateResponse
- SdkSchedulePolicyInspectRequest
- SdkSchedulePolicyInspectResponse
- SdkSchedulePolicyInterval
- SdkSchedulePolicyIntervalDaily
- SdkSchedulePolicyIntervalMonthly
- SdkSchedulePolicyIntervalPeriodic
- SdkSchedulePolicyIntervalWeekly
- SdkSchedulePolicyUpdateRequest
- SdkSchedulePolicyUpdateResponse
- SdkServiceCapability
- SdkServiceCapability.OpenStorageService
- SdkStoragePolicy
- SdkStoragePool
- SdkStoragePoolResizeRequest
- SdkStoragePoolResizeResponse
- SdkVersion
- SdkVolumeAttachOptions
- SdkVolumeAttachRequest
- SdkVolumeAttachRequest.DriverOptionsEntry
- SdkVolumeAttachResponse
- SdkVolumeCapacityUsageRequest
- SdkVolumeCapacityUsageResponse
- SdkVolumeCatalogRequest
- SdkVolumeCatalogResponse
- SdkVolumeCloneRequest
- SdkVolumeCloneResponse
- SdkVolumeCreateRequest
- SdkVolumeCreateRequest.LabelsEntry
- SdkVolumeCreateResponse
- SdkVolumeDeleteRequest
- SdkVolumeDeleteResponse
- SdkVolumeDetachOptions
- SdkVolumeDetachRequest
- SdkVolumeDetachRequest.DriverOptionsEntry
- SdkVolumeDetachResponse
- SdkVolumeEnumerateRequest
- SdkVolumeEnumerateResponse
- SdkVolumeEnumerateWithFiltersRequest
- SdkVolumeEnumerateWithFiltersRequest.LabelsEntry
- SdkVolumeEnumerateWithFiltersResponse
- SdkVolumeInspectRequest
- SdkVolumeInspectResponse
- SdkVolumeInspectResponse.LabelsEntry
- SdkVolumeInspectWithFiltersRequest
- SdkVolumeInspectWithFiltersRequest.LabelsEntry
- SdkVolumeInspectWithFiltersResponse
- SdkVolumeMountRequest
- SdkVolumeMountRequest.DriverOptionsEntry
- SdkVolumeMountResponse
- SdkVolumeSnapshotCreateRequest
- SdkVolumeSnapshotCreateRequest.LabelsEntry
- SdkVolumeSnapshotCreateResponse
- SdkVolumeSnapshotEnumerateRequest
- SdkVolumeSnapshotEnumerateResponse
- SdkVolumeSnapshotEnumerateWithFiltersRequest
- SdkVolumeSnapshotEnumerateWithFiltersRequest.LabelsEntry
- SdkVolumeSnapshotEnumerateWithFiltersResponse
- SdkVolumeSnapshotRestoreRequest
- SdkVolumeSnapshotRestoreResponse
- SdkVolumeSnapshotScheduleUpdateRequest
- SdkVolumeSnapshotScheduleUpdateResponse
- SdkVolumeStatsRequest
- SdkVolumeStatsResponse
- SdkVolumeUnmountOptions
- SdkVolumeUnmountRequest
- SdkVolumeUnmountRequest.DriverOptionsEntry
- SdkVolumeUnmountResponse
- SdkVolumeUpdateRequest
- SdkVolumeUpdateRequest.LabelsEntry
- SdkVolumeUpdateResponse
- SnapCreateRequest
- SnapCreateResponse
- Source
- Stats
- StorageCluster
- StorageNode
- StorageNode.DisksEntry
- StorageNode.NodeLabelsEntry
- StoragePool
- StoragePool.LabelsEntry
- StoragePoolOperation
- StoragePoolOperation.ParamsEntry
- StorageResource
- StorageVersion
- StorageVersion.DetailsEntry
- Volume
- Volume.AttachInfoEntry
- VolumeConsumer
- VolumeCreateRequest
- VolumeCreateResponse
- VolumeInfo
- VolumeInspectOptions
- VolumeLocator
- VolumeLocator.VolumeLabelsEntry
- VolumePlacementSpec
- VolumePlacementStrategy
- VolumeResponse
- VolumeSetRequest
- VolumeSetRequest.OptionsEntry
- VolumeSetResponse
- VolumeSpec
- VolumeSpec.VolumeLabelsEntry
- VolumeSpecPolicy
- VolumeSpecPolicy.VolumeLabelsEntry
- VolumeSpecUpdate
- VolumeStateAction
- Xattr
- Enums
- AlertActionType
- AttachState
- CloudMigrate.OperationType
- CloudMigrate.Stage
- CloudMigrate.Status
- ClusterPairMode.Mode
- CosType
- DriverType
- EnforcementType
- ExportProtocol
- FSType
- GraphDriverChangeType
- HardwareType
- IoProfile
- LabelSelectorRequirement.Operator
- OperationFlags
- Ownership.AccessType
- ResourceType
- SdkCloudBackupOpType
- SdkCloudBackupRequestedState
- SdkCloudBackupStatusType
- SdkServiceCapability.OpenStorageService.Type
- SdkStoragePool.OperationStatus
- SdkStoragePool.OperationType
- SdkStoragePool.ResizeOperationType
- SdkTimeWeekday
- SdkVersion.Version
- SeverityType
- Status
- StorageMedium
- VolumeActionParam
- VolumeSpecPolicy.PolicyOp
- VolumeState
- VolumeStatus
- Xattr.Value
OpenStorageAlerts
OpenStorageAlerts defines rpc's for alerts.
EnumerateWithFilters
rpc EnumerateWithFilters(SdkAlertsEnumerateWithFiltersRequest) SdkAlertsEnumerateWithFiltersResponse
Allows querying alerts.
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 ouput 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.
Delete
rpc Delete(SdkAlertsDeleteRequest) SdkAlertsDeleteResponse
Delete alerts
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.
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.
Requires access AccessType.Read of volume
GroupCreate
rpc GroupCreate(SdkCloudBackupGroupCreateRequest) SdkCloudBackupGroupCreateResponse
Creates a group backup request for a specified group. Use OpenStorageCloudBackup.Status() to get the current status of the backup request.
This will only backup volumes which the user has read_access to.
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.
EnumerateWithFilters
rpc EnumerateWithFilters(SdkCloudBackupEnumerateWithFiltersRequest) SdkCloudBackupEnumerateWithFiltersResponse
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
SchedUpdate
rpc SchedUpdate(SdkCloudBackupSchedUpdateRequest) SdkCloudBackupSchedUpdateResponse
Update existing 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
OpenStorageClusterDomains
OpenStorageClusterDomains is a service used to manage cluster domains in an openstorage cluster. A single openstorage cluster can stretch across multiple cluster domains. In other words it can span across multiple Container Orchestrator clusters. Each node in the cluster is assigned a a cluster domain to start with. A cluster domain and in turn the nodes which are a part of it are assigned a status indicating whether the cluster domain is actively participating in the cluster or whether it is inactive.
Enumerate
rpc Enumerate(SdkClusterDomainsEnumerateRequest) SdkClusterDomainsEnumerateResponse
Enumerate returns names of all the cluster domains in the cluster
Inspect
rpc Inspect(SdkClusterDomainInspectRequest) SdkClusterDomainInspectResponse
Inspect returns information about a cluster domain and a status indicating whether the cluster domain is active
Activate
rpc Activate(SdkClusterDomainActivateRequest) SdkClusterDomainActivateResponse
Activates a cluster domain in the cluster. All the nodes which are part of an active cluster domain will participate in cluster quorum calculation
Deactivate
rpc Deactivate(SdkClusterDomainDeactivateRequest) SdkClusterDomainDeactivateResponse
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
OpenStorageClusterPair
OpenStorageClusterPair service provides the methods to manage a cluster pair
Create
rpc Create(SdkClusterPairCreateRequest) SdkClusterPairCreateResponse
Creates Pair with a remote cluster and returns details about the remote cluster
Example
id, err := client.Create(context.Background(), &api.SdkClusterPairCreateRequest {
Request : &api.ClusterPairCreateRequest {
RemoteClusterIp: "127.0.0.1",
RemoteClusterPort: 12345,
RemoteClusterToken: "<Auth-Token>",
SetDefault: true,
}
})
Inspect
rpc Inspect(SdkClusterPairInspectRequest) SdkClusterPairInspectResponse
Inspect information about a cluster pair
Enumerate
rpc Enumerate(SdkClusterPairEnumerateRequest) SdkClusterPairEnumerateResponse
Enumerate returns list of cluster pairs
GetToken
rpc GetToken(SdkClusterPairGetTokenRequest) SdkClusterPairGetTokenResponse
GetToken returns a auth token
ResetToken
rpc ResetToken(SdkClusterPairResetTokenRequest) SdkClusterPairResetTokenResponse
ResetToken returns a auth token
Delete
rpc Delete(SdkClusterPairDeleteRequest) SdkClusterPairDeleteResponse
Delete a cluster pair
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
id, err := client.Create(context.Background(), &api.SdkCredentialCreateRequest{
Name: "awscred",
UseProxy: false,
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.
OpenStorageMigrate
OpenStorageMigrate is a service used to manage migration of volumes
Start
rpc Start(SdkCloudMigrateStartRequest) SdkCloudMigrateStartResponse
Start a migration operation
Cancel
rpc Cancel(SdkCloudMigrateCancelRequest) SdkCloudMigrateCancelResponse
Cancel a migration operation
Status
rpc Status(SdkCloudMigrateStatusRequest) SdkCloudMigrateStatusResponse
Inspect the status of migration operation
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.
Requires access AccessType.Write of volume
Detach
rpc Detach(SdkVolumeDetachRequest) SdkVolumeDetachResponse
Detaches a the volume from the host
Requires access AccessType.Write of volume
Mount
rpc Mount(SdkVolumeMountRequest) SdkVolumeMountResponse
Mount mounts an attached volume in the host that the client is communicating with
Requires access AccessType.Write of volume
Unmount
rpc Unmount(SdkVolumeUnmountRequest) SdkVolumeUnmountResponse
Unmount unmounts a mounted volume in the host that the client is communicating with
Requires access AccessType.Write of volume
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
EnumerateWithFilters
rpc EnumerateWithFilters(SdkNodeEnumerateWithFiltersRequest) SdkNodeEnumerateWithFiltersResponse
EnumerateWithFilters returns 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.
OpenStoragePolicy
OpenStoragePolicy service provides methods to manager storage policies.
Policies can be used to validate/ensure a set of volume configurations to be followed while creating volumes.
Create
rpc Create(SdkOpenStoragePolicyCreateRequest) SdkOpenStoragePolicyCreateResponse
Creates a storage policy
Enumerate
rpc Enumerate(SdkOpenStoragePolicyEnumerateRequest) SdkOpenStoragePolicyEnumerateResponse
Enumerate returns a list of storage policies
Inspect
rpc Inspect(SdkOpenStoragePolicyInspectRequest) SdkOpenStoragePolicyInspectResponse
Inspect returns information about a specified storage policy
Update
rpc Update(SdkOpenStoragePolicyUpdateRequest) SdkOpenStoragePolicyUpdateResponse
Updates specified storage policy
Delete
rpc Delete(SdkOpenStoragePolicyDeleteRequest) SdkOpenStoragePolicyDeleteResponse
Deletes specified storage policy
SetDefault
rpc SetDefault(SdkOpenStoragePolicySetDefaultRequest) SdkOpenStoragePolicySetDefaultResponse
Set specified storage policy as default policy
DefaultInspect
rpc DefaultInspect(SdkOpenStoragePolicyDefaultInspectRequest) SdkOpenStoragePolicyDefaultInspectResponse
DefaultInspect return default storage policy if any, otherwise empty response
Release
rpc Release(SdkOpenStoragePolicyReleaseRequest) SdkOpenStoragePolicyReleaseResponse
Release specified storage policy constraint for volume creation
OpenStoragePool
OpenStoragePool is a service used to manage storage pools in the cluster
Resize
rpc Resize(SdkStoragePoolResizeRequest) SdkStoragePoolResizeResponse
Resize resizes the specified storage pool based on the request parameters
OpenStorageRole
OpenStorageRole service provides methods to manage user roles
Custom roles
The OpenStorage SDK server is equipped to handle customized authorization roles. Using this model it allows administrators to customize the permission rules of a role to be used by a user.
Creating a custom role, or an SdkRole, is done by setting up a set of allowed rules, or SdkRules, directives which are sequentially scanned until a match is found. Rules are created using the names of OpenStorage SDK services and APIs as follows:
The message SdkRules has the following properties:
- Services: Is the gRPC service name in
OpenStorage<service name>
in lowercase - Apis: Is the API name in the service in lowercase
Please see SdkRule for more information on the format.
Create
rpc Create(SdkRoleCreateRequest) SdkRoleCreateResponse
Create a role for users in the system
Enumerate
rpc Enumerate(SdkRoleEnumerateRequest) SdkRoleEnumerateResponse
List all roles
Inspect
rpc Inspect(SdkRoleInspectRequest) SdkRoleInspectResponse
Get information about a role
Delete
rpc Delete(SdkRoleDeleteRequest) SdkRoleDeleteResponse
Delete an existing role
Update
rpc Update(SdkRoleUpdateRequest) SdkRoleUpdateResponse
Update an existing role
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
Requires access AccessType.Read when cloning from a parent volume.
Example
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
Requires access AccessType.Read of volume
Delete
rpc Delete(SdkVolumeDeleteRequest) SdkVolumeDeleteResponse
Delete deletes the provided volume
Requires access AccessType.Admin of volume
Inspect
rpc Inspect(SdkVolumeInspectRequest) SdkVolumeInspectResponse
Inspect returns information about a volume
Requires access AccessType.Read of volume
InspectWithFilters
rpc InspectWithFilters(SdkVolumeInspectWithFiltersRequest) SdkVolumeInspectWithFiltersResponse
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.
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.
Requires access AccessType.Write of volume
Stats
rpc Stats(SdkVolumeStatsRequest) SdkVolumeStatsResponse
Stats returns the statistics for the requested volume
Requires access AccessType.Read of volume
CapacityUsage
rpc CapacityUsage(SdkVolumeCapacityUsageRequest) SdkVolumeCapacityUsageResponse
CapacityUsage returns volume/snapshot's capacity usage details
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;
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().
Requires access AccessType.Read of volume
SnapshotRestore
rpc SnapshotRestore(SdkVolumeSnapshotRestoreRequest) SdkVolumeSnapshotRestoreResponse
SnapshotRestore restores a volume to a specified snapshot
Requires access AccessType.Write of volume
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.
Requires access AccessType.Write of volume
VolumeCatalog
rpc VolumeCatalog(SdkVolumeCatalogRequest) SdkVolumeCatalogResponse
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.
Messages
ActiveRequest
Active Request
Field | Type | Description |
---|---|---|
ReqestKV | map ActiveRequest.ReqestKVEntry | none |
ActiveRequest.ReqestKVEntry
Field | Type | Description |
---|---|---|
key | int64 | none |
value | string | none |
ActiveRequests
Active Requests
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
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 |
---|---|---|
task_id | string | The id of the task to cancel |
CloudMigrateInfo
Field | Type | Description |
---|---|---|
task_id | string | Task id associated with this migration |
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 |
error_reason | string | Contains the reason for the migration error |
start_time | google.protobuf.Timestamp | StartTime indicates Op's start time |
completed_time | google.protobuf.Timestamp | CompletedTime indicates Op's completed time |
bytes_total | uint64 | BytesTotal is the number of bytes being transferred |
bytes_done | uint64 | BytesDone is the number of bytes already transferred |
eta_seconds | int64 | ETASeconds the time duration in seconds for cloud migration completion |
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 |
task_id | string | (Optional) Unique TaskId assocaiated with this migration. If not provided one will be generated and returned in the response |
CloudMigrateStartResponse
Response to start a cloud migration
Field | Type | Description |
---|---|---|
task_id | string | TaskId assocaiated with the migration that was started |
CloudMigrateStatusRequest
Request for cloud migration operation status
Field | Type | Description |
---|---|---|
task_id | string | Task id for which to return status |
cluster_id | string | ID of the cluster for which to return migration statuses |
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
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 |
mode | ClusterPairMode.Mode | The mode to use for the cluster pair |
ClusterPairCreateResponse
Response for a pair request
Field | Type | Description |
---|---|---|
remote_cluster_id | string | ID of the remote cluster |
remote_cluster_name | string | Name of the remote cluster |
ClusterPairGetResponse
Reponse to get a cluster pair
Field | Type | Description |
---|---|---|
pair_info | ClusterPairInfo | Info about the cluster pair |
ClusterPairInfo
Information about a cluster pair
Field | Type | Description |
---|---|---|
id | string | ID of the cluster |
name | string | Name of the cluster |
endpoint | string | The endpoint used for creating the pair |
current_endpoints | repeated string | Current endpoints of 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 |
mode | ClusterPairMode.Mode | Mode for the cluster pair |
ClusterPairInfo.OptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
ClusterPairMode
ClusterPairProcessRequest
Used to process a pair request from a remote cluster
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 |
mode | ClusterPairMode.Mode | The mode to use for the cluster pair |
ClusterPairProcessResponse
Response after a pairing has been processed
Field | Type | Description |
---|---|---|
remote_cluster_id | string | ID of the cluster which processed the pair request |
remote_cluster_name | string | Name of the cluster which processed the pair request |
remote_cluster_endpoints | repeated string | List of endpoints that can be used to communicate with the cluster |
options | map ClusterPairProcessResponse.OptionsEntry | Key/value pair of options returned on successful pairing. Opaque to openstorage and interpreted by the drivers |
ClusterPairProcessResponse.OptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
ClusterPairTokenGetResponse
Response to get the cluster token
Field | Type | Description |
---|---|---|
token | string | Token used to authenticate clusters |
ClusterPairsEnumerateResponse
Response to enumerate all the cluster pairs
Field | Type | Description |
---|---|---|
default_id | string | ID of the default cluster pair |
pairs | map ClusterPairsEnumerateResponse.PairsEntry | Pairs Info about the cluster pairs |
ClusterPairsEnumerateResponse.PairsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | ClusterPairInfo | none |
ClusterResponse
ClusterResponse specifies a response that gets returned when requesting the cluster
Field | Type | Description |
---|---|---|
error | string | Error code |
in: body |
ExportSpec
ExportSpec defines how the volume is exported..
Field | Type | Description |
---|---|---|
export_protocol | ExportProtocol | ExportProtocol defines how the volume is exported. |
export_options | string | ExportOptions options exporting the volume. |
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
Field | Type | Description |
---|---|---|
path | string | none |
kind | GraphDriverChangeType | none |
Group
Group represents VolumeGroup / namespace All volumes in the same group share this object.
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.
Field | Type | Description |
---|---|---|
id | string | none |
Labels | map GroupSnapCreateRequest.LabelsEntry | none |
volume_ids | repeated string | 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.
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 |
IoStrategy
IoStrategy defines how I/O should be performed to backing storage media.
Field | Type | Description |
---|---|---|
async_io | bool | AsyncIO enables kaio. |
early_ack | bool | EarlyAck enables acks for async I/O at the source. |
LabelSelectorRequirement
LabelSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.
Field | Type | Description |
---|---|---|
key | string | Key is the label key that the selector applies to. |
operator | LabelSelectorRequirement.Operator | Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
values | repeated string | 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. |
LocateResponse
Locate response would 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 |
dockerids | map LocateResponse.DockeridsEntry | Map of docker id's and their mounts |
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
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 |
Ownership
Ownership information for resource.
Administrators are users who belong to the group *
, meaning, every group.
Field | Type | Description |
---|---|---|
owner | string | 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. | | acls | Ownership.AccessControl | Permissions to share resource which can be set by the owner.
NOTE: To create an "admin" user which has access to any resource set the group value in the token of the user to *
. |
Ownership.AccessControl
Field | Type | Description |
---|---|---|
groups | map Ownership.AccessControl.GroupsEntry | 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. |
collaborators | map Ownership.AccessControl.CollaboratorsEntry | 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. |
Ownership.AccessControl.CollaboratorsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | Ownership.AccessType | none |
Ownership.AccessControl.GroupsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | Ownership.AccessType | none |
ReplicaPlacementSpec
Field | Type | Description |
---|---|---|
weight | int64 | 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) |
enforcement | EnforcementType | Enforcement specifies the rule enforcement policy. Can take values: required or preferred. (optional) |
affected_replicas | int32 | AffectedReplicas defines the number of volume replicas affected by this rule. If not provided, rule would affect all replicas (optional) |
topology_key | string | 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) |
match_expressions | repeated LabelSelectorRequirement | MatchExpressions is a list of label selector requirements. The requirements are ANDed. |
ReplicaSet
ReplicaSet set of machine IDs (nodes) to which part of this volume is erasure coded - for clustered storage arrays
Field | Type | Description |
---|---|---|
nodes | repeated string | none |
pool_uuids | repeated string | Unique IDs of the storage pools for this replica set |
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.
Field | Type | Description |
---|---|---|
runtime_state | map RuntimeStateMap.RuntimeStateEntry | none |
RuntimeStateMap.RuntimeStateEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkAlertsAlertTypeQuery
SdkAlertsAlertTypeQuery queries for alerts using alert type and it requires that resource type be provided as well.
Field | Type | Description |
---|---|---|
resource_type | ResourceType | Resource type used to build query. |
alert_type | int64 | Alert type used to build query. |
SdkAlertsCountSpan
SdkAlertsCountSpan to store count range information.
Field | Type | Description |
---|---|---|
min_count | int64 | Min count of such alerts raised so far. |
max_count | int64 | Max count of such alerts raised so far. |
SdkAlertsDeleteRequest
SdkAlertsDeleteRequest is a request message to delete alerts.
Field | Type | Description |
---|---|---|
queries | repeated SdkAlertsQuery | It takes a list of queries to find matching alerts. Matching alerts are deleted. |
SdkAlertsDeleteResponse
SdkAlertsDeleteResponse is empty.
SdkAlertsEnumerateWithFiltersRequest
SdkAlertsEnumerateRequest is a request message to enumerate alerts.
Field | Type | Description |
---|---|---|
queries | repeated SdkAlertsQuery | 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. |
SdkAlertsEnumerateWithFiltersResponse
SdkAlertsEnumerateResponse is a list of alerts.
Field | Type | Description |
---|---|---|
alerts | repeated Alert | Response contains a list of alerts. |
SdkAlertsOption
SdkAlertsOption contains options for filtering alerts.
Field | Type | Description |
---|---|---|
oneof opt.min_severity_type | SeverityType | Query using minimum severity type. |
oneof opt.is_cleared | bool | Query using cleared flag. |
oneof opt.time_span | SdkAlertsTimeSpan | Query using a time span during which alert was last seen. |
oneof opt.count_span | SdkAlertsCountSpan | Query using a count span in which alert count exists. |
SdkAlertsQuery
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.
Field | Type | Description |
---|---|---|
oneof query.resource_type_query | SdkAlertsResourceTypeQuery | Query only using resource type. |
oneof query.alert_type_query | SdkAlertsAlertTypeQuery | Query using alert type and resource type. |
oneof query.resource_id_query | SdkAlertsResourceIdQuery | Query using resource id, alert type and resource type. |
opts | repeated SdkAlertsOption | Opts is a list of options associated with one of the queries. |
SdkAlertsResourceIdQuery
SdkAlertsResourceIdQuery queries for alerts using resource id and it requires that both alert type and resource type be provided as well.
Field | Type | Description |
---|---|---|
resource_type | ResourceType | Resource type used to build query. |
alert_type | int64 | Alert type used to build query. |
resource_id | string | Resource ID used to build query. |
SdkAlertsResourceTypeQuery
SdkAlertsResourceTypeQuery queries for alerts using only resource id.
Field | Type | Description |
---|---|---|
resource_type | ResourceType | Resource type used to build query. |
SdkAlertsTimeSpan
SdkAlertsTimeSpan to store time window information.
Field | Type | Description |
---|---|---|
start_time | google.protobuf.Timestamp | Start timestamp when Alert occured |
end_time | google.protobuf.Timestamp | End timestamp when Alert occured |
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 |
disable_path_style | bool | (optional) Disable path-style access |
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 |
disable_path_style | bool | (optional) Disable path-style access |
s3_storage_class | string | (optional) Storage class for s3 puts |
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 |
task_id | string | TaskId of the task performing this backup. This value can be used for idempotency. |
labels | map SdkCloudBackupCreateRequest.LabelsEntry | Labels are list of key value pairs to tag the cloud backup. These labels are stored in the metadata associated with the backup. |
full_backup_frequency | uint32 | FullBackupFrequency indicates number of incremental backup after whcih 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. |
SdkCloudBackupCreateRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkCloudBackupCreateResponse
Empty response
Field | Type | Description |
---|---|---|
task_id | string | TaskId of the task performing the backup |
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
SdkCloudBackupEnumerateWithFiltersRequest
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 providecluster_id
andall
. - For a specific volume in a specific cluster: Set
src_volume_id
to your desired volume id and specifycluster_id
. - For a specific volume in all clusters: Set
src_volume_id
to your desired volume id and setall
to true, do not providecluster_id
. - For all volumes in current cluster: do not provide
cluster_id
,volume_id
andall
. - For all volumes in a specific cluster: Set
cluster_id
to your desired cluster id and do not providevolume_id
andall
. - For all volumes in all clusters: Set
all
to true do not providevolume_id
andcluster_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. |
status_filter | SdkCloudBackupStatusType | (optional) enumerates backups that have status specified by this type |
metadata_filter | map SdkCloudBackupEnumerateWithFiltersRequest.MetadataFilterEntry | (optional) Enumerates backups that have tags of this type |
max_backups | uint64 | (optional) if caller wished to limit number of backups returned by enumerate |
continuation_token | string | Returned in the enumerate response if not all of the backups could be returned in the response. |
cloud_backup_id | string | If one wants to enumerate known backup, set this field to the backup ID naming format :clusteruuidORbicketname/srcVolId-snapId(-incr) |
SdkCloudBackupEnumerateWithFiltersRequest.MetadataFilterEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkCloudBackupEnumerateWithFiltersResponse
Defines a response which lists all the backups stored by a cloud provider
Field | Type | Description |
---|---|---|
backups | repeated SdkCloudBackupInfo | none |
continuation_token | string | if this is not an empty string, callers must pass this to get next list of backups |
SdkCloudBackupGroupCreateRequest
Defines a request to create a group backup of a group to the cloud
Field | Type | Description |
---|---|---|
group_id | string | GroupID of the volume for which cloudbackup is requested |
volume_ids | repeated string | 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 |
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 |
labels | map SdkCloudBackupGroupCreateRequest.LabelsEntry | Labels are list of key value pairs to tag the cloud backup. These labels are stored in the metadata associated with the backup. |
SdkCloudBackupGroupCreateRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkCloudBackupGroupCreateResponse
Empty response
Field | Type | Description |
---|---|---|
group_cloud_backup_id | string | ID for this group of backups |
task_ids | repeated string | TaskIds of the tasks performing the group backup |
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) |
task_id | string | TaskId of the task performing this restore |
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 |
task_id | string | TaskId of the task performing the restore |
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 |
SdkCloudBackupSchedUpdateRequest
Defines a request to update a schedule for volume backups to a cloud provider
Field | Type | Description |
---|---|---|
cloud_sched_info | SdkCloudBackupScheduleInfo | Cloud Backup Schedule info |
sched_uuid | string | none |
SdkCloudBackupSchedUpdateResponse
Empty response
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 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 |
full | bool | Full indicates if scheduled backups should always be full and never incremental. |
retention_days | uint32 | Number of days that Scheduled CloudBackups will be kept after which they are deleted |
group_id | string | GroupId indicates the group of volumes for which this schedule applies |
labels | map SdkCloudBackupScheduleInfo.LabelsEntry | labels indicates group of volumes with similar labels for which this schedule applies |
SdkCloudBackupScheduleInfo.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkCloudBackupStateChangeRequest
Defines a request to change the state of a backup or restore to or from a cloud provider
Field | Type | Description |
---|---|---|
task_id | string | Describes the backup/restore task 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 |
src_volume_id | string | SourceVolumeID is the the volume that is either being backed up to cloud or target volume to which a backup is being restored |
info | repeated string | Info currently indicates the failure cause for failed backup/restore |
credential_id | string | CredentialId is the credential used for cloud with this backup/restore op |
bytes_total | uint64 | BytesTotal is the total number of bytes being transferred |
eta_seconds | int64 | ETASeconds is the number of seconds for cloud backup completion |
group_id | string | string group_id volume's group id if this was group cloud backup |
SdkCloudBackupStatusRequest
Defines a request to retreive the status of a backup or restore for a specified volume
Field | Type | Description |
---|---|---|
volume_id | string | (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. |
local | bool | Local indicates if only those backups/restores that are active on current node must be returned |
task_id | string | TaskId of the backup/restore task, if this is specified, volume_id is ignored. |
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 id of the task performing backup/restore. |
SdkCloudBackupStatusResponse.StatusesEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | SdkCloudBackupStatus | none |
SdkCloudMigrateCancelRequest
Defines a request to stop a cloud migration
Field | Type | Description |
---|---|---|
request | CloudMigrateCancelRequest | Request containing the task id to be cancelled |
SdkCloudMigrateCancelResponse
Empty Response
SdkCloudMigrateStartRequest
Defines a migration request
Field | Type | Description |
---|---|---|
cluster_id | string | ID of the cluster to which volumes are to be migrated |
task_id | string | Unique name assocaiated with this migration. This is a Optional field for idempotency |
oneof opt.volume | SdkCloudMigrateStartRequest.MigrateVolume | Request to migrate a volume |
oneof opt.volume_group | SdkCloudMigrateStartRequest.MigrateVolumeGroup | Request to migrate a volume group |
oneof opt.all_volumes | SdkCloudMigrateStartRequest.MigrateAllVolumes | Request to migrate all volumes |
SdkCloudMigrateStartRequest.MigrateAllVolumes
Defines a migration request for all volumes in a cluster
SdkCloudMigrateStartRequest.MigrateVolume
Defines a migration request for a volume
Field | Type | Description |
---|---|---|
volume_id | string | none |
SdkCloudMigrateStartRequest.MigrateVolumeGroup
Defines a migration request for a volume group
Field | Type | Description |
---|---|---|
group_id | string | none |
SdkCloudMigrateStartResponse
Defines a response for the migration that was started
Field | Type | Description |
---|---|---|
result | CloudMigrateStartResponse | Result assocaiated with the migration that was started |
SdkCloudMigrateStatusRequest
Request for cloud migration operation status
Field | Type | Description |
---|---|---|
request | CloudMigrateStatusRequest | Request contains the task id and cluster id for which status should be returned |
SdkCloudMigrateStatusResponse
Defines a response for the status request
Field | Type | Description |
---|---|---|
result | CloudMigrateStatusResponse | Status of all migration requests |
SdkClusterDomainActivateRequest
Defines a request to activate a cluster domain
Field | Type | Description |
---|---|---|
cluster_domain_name | string | Name of the cluster domain to activate |
SdkClusterDomainActivateResponse
Empty response
SdkClusterDomainDeactivateRequest
Defines a request to deactivate a cluster domain
Field | Type | Description |
---|---|---|
cluster_domain_name | string | Name of the cluster domain to deactivate |
SdkClusterDomainDeactivateResponse
Empty response
SdkClusterDomainInspectRequest
Defines a request to inspect a cluster domain
Field | Type | Description |
---|---|---|
cluster_domain_name | string | Name of the cluster domain to inspect |
SdkClusterDomainInspectResponse
Defines a response to inspecting a cluster domain
Field | Type | Description |
---|---|---|
cluster_domain_name | string | Name of the cluster domain |
is_active | bool | IsActive indicates whether this cluster domain is active |
SdkClusterDomainsEnumerateRequest
Empty request
SdkClusterDomainsEnumerateResponse
Defines a response when enumerating cluster domains
Field | Type | Description |
---|---|---|
cluster_domain_names | repeated string | List of names of all the cluster domains in a cluster |
SdkClusterInspectCurrentRequest
Empty request
SdkClusterInspectCurrentResponse
Defines a response when inspecting the current cluster
Field | Type | Description |
---|---|---|
cluster | StorageCluster | Cluster information |
SdkClusterPairCreateRequest
Defines a request for creating a cluster pair
Field | Type | Description |
---|---|---|
request | ClusterPairCreateRequest | none |
SdkClusterPairCreateResponse
Defines a result of the cluster pair
Field | Type | Description |
---|---|---|
result | ClusterPairCreateResponse | Contains the information about cluster pair |
SdkClusterPairDeleteRequest
Defines a delete request for a cluster pair
Field | Type | Description |
---|---|---|
cluster_id | string | ID of the cluster pair to be deleted |
SdkClusterPairDeleteResponse
Empty response
SdkClusterPairEnumerateRequest
Empty Request
SdkClusterPairEnumerateResponse
Defines a list of cluster pair
Field | Type | Description |
---|---|---|
result | ClusterPairsEnumerateResponse | List of all the cluster pairs |
SdkClusterPairGetTokenRequest
Empty request
SdkClusterPairGetTokenResponse
Defines a response for the token request
Field | Type | Description |
---|---|---|
result | ClusterPairTokenGetResponse | Contains authentication token for the cluster |
SdkClusterPairInspectRequest
Defines a cluster pair inspect request
Field | Type | Description |
---|---|---|
id | string | ID of the cluster, if empty gets the default pair |
SdkClusterPairInspectResponse
Defines a cluster pair inspect response
Field | Type | Description |
---|---|---|
result | ClusterPairGetResponse | Information about cluster pair |
SdkClusterPairResetTokenRequest
Empty request
SdkClusterPairResetTokenResponse
Defines a response for the token request
Field | Type | Description |
---|---|---|
result | ClusterPairTokenGetResponse | Contains authentication token for the cluster |
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 |
ownership | Ownership | Ownership of the credential. Collaborators and groups may be added here with their appropriate ACLS. |
use_proxy | bool | use_proxy indicates if a proxy must be used |
iam_policy | bool | iamPolicy indicates if IAM creds must be used for access |
s3_storage_class | string | s3StorageClass for object puts, empty indicates default STANDARD |
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 |
ownership | Ownership | Ownership of the credential |
use_proxy | bool | proxy flag for the credential |
iam_policy | bool | iamPolicy indicates if IAM creds must be used for access |
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 node ids
Field | Type | Description |
---|---|---|
node_ids | repeated string | List of all the node ids in the cluster |
SdkNodeEnumerateWithFiltersRequest
Defines a request to list nodes with given filter. Currently there are no filters and all the nodes will be returned.
SdkNodeEnumerateWithFiltersResponse
Defines a response with a list of nodes
Field | Type | Description |
---|---|---|
nodes | repeated StorageNode | List of all the nodes 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
SdkOpenStoragePolicyCreateRequest
Define a request to create storage policy
Field | Type | Description |
---|---|---|
storage_policy | SdkStoragePolicy | storage policy to create |
SdkOpenStoragePolicyCreateResponse
Empty response
SdkOpenStoragePolicyDefaultInspectRequest
Empty Request
SdkOpenStoragePolicyDefaultInspectResponse
Define default storage policy response
Field | Type | Description |
---|---|---|
storage_policy | SdkStoragePolicy | storage policy information which is set as default |
SdkOpenStoragePolicyDeleteRequest
Define a request to delete storage policy
Field | Type | Description |
---|---|---|
name | string | name of storage policy to delete |
SdkOpenStoragePolicyDeleteResponse
Empty Response
SdkOpenStoragePolicyEnumerateRequest
Empty request
SdkOpenStoragePolicyEnumerateResponse
Define a storage policy enumerate response
Field | Type | Description |
---|---|---|
storage_policies | repeated SdkStoragePolicy | List of storage policies |
SdkOpenStoragePolicyInspectRequest
Define a request to inspect storage policy
Field | Type | Description |
---|---|---|
name | string | name of storage policy to retrive |
SdkOpenStoragePolicyInspectResponse
Define a storage policy inspect response
Field | Type | Description |
---|---|---|
storage_policy | SdkStoragePolicy | storage policy information requested by name |
SdkOpenStoragePolicyReleaseRequest
Empty Request
SdkOpenStoragePolicyReleaseResponse
Empty Response
SdkOpenStoragePolicySetDefaultRequest
Define a request to set default storage policy
Field | Type | Description |
---|---|---|
name | string | name of policy to set as default storage policy for volume creation This policy will be used to validate/update volume configuration |
SdkOpenStoragePolicySetDefaultResponse
Empty Response
SdkOpenStoragePolicyUpdateRequest
Define a request to update storage policy
Field | Type | Description |
---|---|---|
storage_policy | SdkStoragePolicy | storage policy to update |
SdkOpenStoragePolicyUpdateResponse
Empty Response
SdkRole
Field | Type | Description |
---|---|---|
name | string | none |
rules | repeated SdkRule | none |
SdkRoleCreateRequest
Defines a request for creating a role
Field | Type | Description |
---|---|---|
role | SdkRole | Role |
SdkRoleCreateResponse
Response contains informaiton about the creation of the role
Field | Type | Description |
---|---|---|
role | SdkRole | Role created |
SdkRoleDeleteRequest
Defines a request to delete a role
Field | Type | Description |
---|---|---|
name | string | none |
SdkRoleDeleteResponse
Empty response
SdkRoleEnumerateRequest
Empty request
SdkRoleEnumerateResponse
Respose to enumerate all roles
Field | Type | Description |
---|---|---|
names | repeated string | List of role names |
SdkRoleInspectRequest
Defines a request to inspect a role
Field | Type | Description |
---|---|---|
name | string | Name of role |
SdkRoleInspectResponse
Response to inspection request
Field | Type | Description |
---|---|---|
role | SdkRole | Role requested |
SdkRoleUpdateRequest
Defines a request to update an existing role
Field | Type | Description |
---|---|---|
role | SdkRole | New role update |
SdkRoleUpdateResponse
Response contains information about the updated role
Field | Type | Description |
---|---|---|
role | SdkRole | Role updated |
SdkRule
SdkRule is the message used to construct custom roles in the OpenStorage SDK.
Format
The following shows the supported format for SdkRule:
- Services: Is the gRPC service name in
OpenStorage<service name>
in lowercase - Apis: Is the API name in the service in lowercase
Values can also be set to *
, or start or end with *
to allow multiple matches in services or apis.
Examples
- Allow any call:
SdkRule:
- Services: ["*"]
Apis: ["*"]
- Allow only cluster operations:
SdkRule:
- services: ["cluster"]
apis: ["*"]
- Allow inspection of any object and listings of only volumes
SdkRule:
- Services: ["volumes"]
Apis: ["*enumerate*"]
- Services: ["*"]
Apis: ["inspect*"]
- Allow all volume call except create
SdkRule:
- Services: ["volumes"]
Apis: ["*", "!create"]
Field | Type | Description |
---|---|---|
services | repeated string | The gRPC service name in OpenStorage<service name> in lowercase |
apis | repeated string | The API name in the service in lowercase |
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 |
SdkStoragePolicy
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
Field | Type | Description |
---|---|---|
name | string | Name of storage policy. |
policy | VolumeSpecPolicy | VolumeSpecs to apply while creating volume. |
force | bool | 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 |
allow_update | bool | If set a volume can be updated without storage Policy restriction, otherwise volume update will be followed as per storage policy specification |
ownership | Ownership | Owner info of storage policy |
SdkStoragePool
SdkStoragePoolResizeRequest
Defines a request when inspect a storage pool
Field | Type | Description |
---|---|---|
uuid | string | UUID of the storage pool to inspect |
oneof resize_factor.size | uint64 | Size is the new desired size of the storage pool |
oneof resize_factor.percentage | uint64 | Size is the new desired size of the storage pool |
operation_type | SdkStoragePool.ResizeOperationType | OperationType is the operation that's used to resize the storage pool (optional) |
skip_wait_for_clean_volumes | bool | SkipWaitForCleanVolumes would skip the wait for all volumes on the pool to be clean before doing a resize |
SdkStoragePoolResizeResponse
Defines a response when resizing a storage pool
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. |
SdkVolumeAttachOptions
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. |
SdkVolumeAttachRequest
Defines a request to attach a volume to the node receiving this request
Field | Type | Description |
---|---|---|
volume_id | string | Id of volume |
options | SdkVolumeAttachOptions | Options to attach device |
driver_options | map SdkVolumeAttachRequest.DriverOptionsEntry | 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. |
SdkVolumeAttachRequest.DriverOptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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 |
SdkVolumeCatalogRequest
Request message to get the volume catalog
Field | Type | Description |
---|---|---|
volume_id | string | VolumeId of the volume that is getting it's catalog retrieved. |
path | string | Path which will be used as root (default is the actual root) |
depth | string | Depth of folders/files retrieved (default is all of it, 1 would only return 1 layer) |
SdkVolumeCatalogResponse
Response message to get volume catalog
Field | Type | Description |
---|---|---|
catalog | CatalogResponse | Catalog |
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 |
labels | map SdkVolumeCreateRequest.LabelsEntry | Labels to apply to the volume |
SdkVolumeCreateRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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
SdkVolumeDetachOptions
Field | Type | Description |
---|---|---|
force | bool | Forcefully detach device from the kernel |
unmount_before_detach | bool | Unmount the volume before detaching |
redirect | bool | redirect the request to the attached node |
SdkVolumeDetachRequest
Defines a request to detach a volume
Field | Type | Description |
---|---|---|
volume_id | string | Id of the volume |
options | SdkVolumeDetachOptions | Options to detach device |
driver_options | map SdkVolumeDetachRequest.DriverOptionsEntry | 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. |
SdkVolumeDetachRequest.DriverOptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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 |
---|---|---|
name | string | (optional) Name to search |
labels | map SdkVolumeEnumerateWithFiltersRequest.LabelsEntry | (optional) Labels to search |
ownership | Ownership | (optional) Ownership to match |
group | Group | (optional) Group to match |
SdkVolumeEnumerateWithFiltersRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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 |
options | VolumeInspectOptions | Options during inspection |
SdkVolumeInspectResponse
Defines the response when inspecting a volume
Field | Type | Description |
---|---|---|
volume | Volume | Information about the volume |
name | string | Name of volume |
labels | map SdkVolumeInspectResponse.LabelsEntry | Volume labels |
SdkVolumeInspectResponse.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkVolumeInspectWithFiltersRequest
Defines the request to inspect volumes using a filter
Field | Type | Description |
---|---|---|
name | string | (optional) Name to search |
labels | map SdkVolumeInspectWithFiltersRequest.LabelsEntry | (optional) Labels to search |
ownership | Ownership | (optional) Ownership to match |
group | Group | (optional) Group to match |
options | VolumeInspectOptions | Options during inspection |
SdkVolumeInspectWithFiltersRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkVolumeInspectWithFiltersResponse
Defines the response when inspecting volumes using a filter
Field | Type | Description |
---|---|---|
volumes | repeated SdkVolumeInspectResponse | List of SdkVolumeInspectResponse objects describing the volumes |
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. |
options | SdkVolumeAttachOptions | Options to attach device |
driver_options | map SdkVolumeMountRequest.DriverOptionsEntry | 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. |
SdkVolumeMountRequest.DriverOptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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 |
SdkVolumeUnmountOptions
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. |
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 | SdkVolumeUnmountOptions | Options to unmount device |
driver_options | map SdkVolumeUnmountRequest.DriverOptionsEntry | 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. |
SdkVolumeUnmountRequest.DriverOptionsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
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 |
labels | map SdkVolumeUpdateRequest.LabelsEntry | 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. |
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_opt.size. To change number of replicas: Adjust spec.ha_level_opt.ha_level. To change the I/O Profile: Adjust spec.io_profile_opt.io_profile. |
SdkVolumeUpdateRequest.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
SdkVolumeUpdateResponse
Empty response
SnapCreateRequest
SnapCreateRequest specifies a request to create a snapshot of given volume.
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.
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.
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. |
HWType | HardwareType | HardwareType is the type of the hardware the node has |
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 | Deprecated! Use uuid instead. 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 |
uuid | string | UUID is the unique identifier for a storage pool |
last_operation | StoragePoolOperation | LastOperation is the most recent operation being performed on a storage pool |
StoragePool.LabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
StoragePoolOperation
StoragePoolOperation defines an operation being performed on a storage pool
Field | Type | Description |
---|---|---|
type | SdkStoragePool.OperationType | Type is the type of the operation |
msg | string | Msg is a user friendly message for the operation |
params | map StoragePoolOperation.ParamsEntry | Params for the parameters for the operation |
status | SdkStoragePool.OperationStatus | Status is the status of the operation |
StoragePoolOperation.ParamsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
StorageResource
StorageResource groups properties of a storage device.
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. |
cache | bool | True if dedicated as cache |
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.
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 this 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 | VolumeStatus is the availability status of this volume. |
state | VolumeState | VolumeState is the current runtime state of this volume. |
attached_on | string | AttachedOn is the node instance identifier for clustered systems. |
attached_state | AttachState | AttachState 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. |
attach_time | google.protobuf.Timestamp | AttachTime time this device was last attached externally. |
detach_time | google.protobuf.Timestamp | DetachTime time this device was detached. |
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
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
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
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
Field | Type | Description |
---|---|---|
volume_id | string | none |
path | string | none |
storage | VolumeSpec | none |
VolumeInspectOptions
Options used for volume inspection
Field | Type | Description |
---|---|---|
deep | bool | Deep inspection is used to collect more information about the volume. Setting this value may delay the request. |
VolumeLocator
VolumeLocator is a structure that is attached to a volume and is used to carry opaque metadata.
Field | Type | Description |
---|---|---|
name | string | User friendly identifier |
volume_labels | map VolumeLocator.VolumeLabelsEntry | A set of name-value pairs that acts as search filters |
ownership | Ownership | Filter with ownership |
group | Group | Filter by group |
volume_ids | repeated string | Volume Ids to match |
VolumeLocator.VolumeLabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
VolumePlacementSpec
Field | Type | Description |
---|---|---|
weight | int64 | 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) |
enforcement | EnforcementType | Enforcement specifies the rule enforcement policy. Can take values: required or preferred. (optional) |
topology_key | string | 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) |
match_expressions | repeated LabelSelectorRequirement | MatchExpressions is a list of label selector requirements. The requirements are ANDed. |
VolumePlacementStrategy
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.
Field | Type | Description |
---|---|---|
replica_affinity | repeated ReplicaPlacementSpec | ReplicaAffinity defines affinity rules between replicas within a volume |
replica_anti_affinity | repeated ReplicaPlacementSpec | ReplicaAntiAffinity defines anti-affinity rules between replicas within a volume |
volume_affinity | repeated VolumePlacementSpec | VolumeAffinity defines affinity rules between volumes |
volume_anti_affinity | repeated VolumePlacementSpec | VolumeAntiAffinity defines anti-affinity rules between volumes |
VolumeResponse
VolumeResponse is a structure that wraps an error.
Field | Type | Description |
---|---|---|
error | string | Error message |
in: body Required: true |
VolumeSetRequest
VolumeSet specifies a request to update a volume.
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
Field | Type | Description |
---|---|---|
volume | Volume | Volume |
volume_response | VolumeResponse | VolumeResponse |
VolumeSpec
VolumeSpec has the properties needed to create a volume.
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 | (deprecated, do not use) VolumeLabels configuration labels |
shared | bool | Shared is true if this volume can be concurrently accessed by multiple users. |
replica_set | ReplicaSet | ReplicaSet is the desired set of nodes for the volume data. |
aggregation_level | uint32 | Aggregation 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 | uint32 | 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. |
io_strategy | IoStrategy | IoStrategy preferred strategy for I/O. |
placement_strategy | VolumePlacementStrategy | PlacementStrategy specifies a spec to indicate where to place the volume. |
storage_policy | string | StoragePolicy if applied/specified while creating volume |
ownership | Ownership | Ownership |
export_spec | ExportSpec | ExportSpec defines how the volume should be exported. |
xattr | Xattr.Value | Xattr specifies implementation specific volume attributes |
VolumeSpec.VolumeLabelsEntry
Field | Type | Description |
---|---|---|
key | string | none |
value | string | none |
VolumeSpecPolicy
VolumeSpecPolicy provides a method to set volume storage policy
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 VolumeSpecPolicy.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 | uint32 | none |
oneof encrypted_opt.encrypted | bool | none |
oneof aggregation_level_opt.aggregation_level | uint32 | none |
size_operator | VolumeSpecPolicy.PolicyOp | Operator to check size |
ha_level_operator | VolumeSpecPolicy.PolicyOp | Operator to check ha_level |
scale_operator | VolumeSpecPolicy.PolicyOp | Operator to check scale |
snapshot_interval_operator | VolumeSpecPolicy.PolicyOp | Operator to check snapshot_interval |
oneof nodiscard_opt.nodiscard | bool | none |
io_strategy | IoStrategy | IoStrategy preferred strategy for I/O. |
oneof export_spec_opt.export_spec | ExportSpec | none |
VolumeSpecPolicy.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 |
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 | uint32 | none |
ownership | Ownership | Ownership volume information to update. If the value of owner in the ownership message is an empty string then the value of owner in the VolumeSpec.Ownership.owner will not be updated. |
oneof nodiscard_opt.nodiscard | bool | none |
io_strategy | IoStrategy | IoStrategy preferred strategy for I/O. |
oneof export_spec_opt.export_spec | ExportSpec | none |
oneof xattr_opt.xattr | Xattr.Value | none |
VolumeStateAction
VolumeStateAction specifies desired actions.
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 |
Xattr
Xattr defines implementation specific volume attribute
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 |
Canceled | 6 | none |
ClusterPairMode.Mode
Name | Number | Description |
---|---|---|
Default | 0 | Default pairing mode |
DisasterRecovery | 1 | Paired for DisasterRecovery |
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 |
EnforcementType
Defines the types of enforcement on the given rules
Name | Number | Description |
---|---|---|
required | 0 | This specifies that the rule is required and must be strictly enforced |
preferred | 1 | This specifies that the rule is preferred and can be best effort |
ExportProtocol
ExportProtocol defines how the device is exported..
Name | Number | Description |
---|---|---|
INVALID | 0 | Invalid uninitialized value |
PXD | 1 | PXD the volume is exported over Portworx block interace. |
ISCSI | 2 | ISCSI the volume is exported over ISCSI. |
NFS | 3 | NFS the volume is exported over NFS. |
CUSTOM | 4 | Custom the volume is exported over custom interace. |
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 |
HardwareType
Name | Number | Description |
---|---|---|
UnknownMachine | 0 | When we do not know the machine type alsp the default |
VirtualMachine | 1 | when we are running on virtual machine |
BareMetalMachine | 2 | when we are running on physical hardware |
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 |
IO_PROFILE_SYNC_SHARED | 5 | none |
LabelSelectorRequirement.Operator
This defines operator types used in a label matching rule
Name | Number | Description |
---|---|---|
In | 0 | In means the value for 'key' should be in one of the given value(s) |
NotIn | 1 | NotIn means the value for 'key' should NOT be in one of the given value(s) |
Exists | 2 | Exists means the 'key' should just exist regardless of the value |
DoesNotExist | 3 | DoesNotExist means the 'key' should NOT exist |
Gt | 4 | Gt means the 'key' should be greater than the value(s) |
Lt | 5 | Lt means the 'key' should be less than the value(s) |
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 |
Ownership.AccessType
Access types can be set by owner to have different levels of access to a resource.
It is up to the resource to interpret what the types mean and are used for.
Name | Number | Description |
---|---|---|
Read | 0 | Read access only and cannot affect the resource. |
Write | 1 | Write access and can affect the resource. This type automatically provides Read access also. |
Admin | 2 | Administrator access. This type automatically provides Read and Write access also. |
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 |
RESOURCE_TYPE_POOL | 5 | 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 |
SdkCloudBackupStatusTypeQueued | 8 | Queued |
SdkCloudBackupStatusTypeInvalid | 9 | Invalid, used by enumerate, includes failed, stopped and aborted |
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 |
ALERTS | 8 | Alert enumeration |
MOUNT_ATTACH | 9 | Mount/Attach Support |
ROLE | 10 | Role service |
CLUSTER_PAIR | 11 | Cluster Pair service |
MIGRATE | 12 | Migrate service |
STORAGE_POLICY | 13 | StoragePolicy Service |
SdkStoragePool.OperationStatus
OperationStatus captures the various statuses of a storage pool operation
Name | Number | Description |
---|---|---|
OPERATION_PENDING | 0 | Operation pending |
OPERATION_IN_PROGRESS | 1 | Operation is in progress |
OPERATION_SUCCESSFUL | 2 | Operation is successful |
OPERATION_FAILED | 3 | Operation failed |
SdkStoragePool.OperationType
OperationType defines the various operations that are performed on a storage pool
Name | Number | Description |
---|---|---|
OPERATION_RESIZE | 0 | Resize operation |
SdkStoragePool.ResizeOperationType
Defines the operation types available to resize a storage pool
Name | Number | Description |
---|---|---|
RESIZE_TYPE_AUTO | 0 | Automatically pick the optimum resize operation type |
RESIZE_TYPE_ADD_DISK | 1 | Add a new drive to resize the pool |
RESIZE_TYPE_RESIZE_DISK | 2 | Resize existing drives to resize the pool |
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 | 42 | SDK version minor value of this specification |
Patch | 29 | 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. |
VolumeSpecPolicy.PolicyOp
This defines an operator for the policy comparisons
Name | Number | Description |
---|---|---|
Equal | 0 | Policy will make sure the value must be equal |
Minimum | 1 | Policy will make sure the requested value must be greater than or equal |
Maximum | 2 | Policy will make sure the requested value must be less than or equal |
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 |
Xattr.Value
Name | Number | Description |
---|---|---|
UNSPECIFIED | 0 | Value is uninitialized or unknown |
COW_ON_DEMAND | 1 | Enable on-demand copy-on-write on the volume |
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 |