package csi

import "github.com/container-storage-interface/spec/lib/go/csi"

Package csi is a generated protocol buffer package.

It is generated from these files:

csi.proto

It has these top-level messages:

GetSupportedVersionsRequest
GetSupportedVersionsResponse
Version
GetPluginInfoRequest
GetPluginInfoResponse
CreateVolumeRequest
CreateVolumeResponse
VolumeCapability
CapacityRange
VolumeInfo
DeleteVolumeRequest
DeleteVolumeResponse
ControllerPublishVolumeRequest
ControllerPublishVolumeResponse
ControllerUnpublishVolumeRequest
ControllerUnpublishVolumeResponse
ValidateVolumeCapabilitiesRequest
ValidateVolumeCapabilitiesResponse
ListVolumesRequest
ListVolumesResponse
GetCapacityRequest
GetCapacityResponse
ControllerProbeRequest
ControllerProbeResponse
ControllerGetCapabilitiesRequest
ControllerGetCapabilitiesResponse
ControllerServiceCapability
NodePublishVolumeRequest
NodePublishVolumeResponse
NodeUnpublishVolumeRequest
NodeUnpublishVolumeResponse
GetNodeIDRequest
GetNodeIDResponse
NodeProbeRequest
NodeProbeResponse
NodeGetCapabilitiesRequest
NodeGetCapabilitiesResponse
NodeServiceCapability

Index

Variables

var ControllerServiceCapability_RPC_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "CREATE_DELETE_VOLUME",
	2: "PUBLISH_UNPUBLISH_VOLUME",
	3: "LIST_VOLUMES",
	4: "GET_CAPACITY",
}
var ControllerServiceCapability_RPC_Type_value = map[string]int32{
	"UNKNOWN":                  0,
	"CREATE_DELETE_VOLUME":     1,
	"PUBLISH_UNPUBLISH_VOLUME": 2,
	"LIST_VOLUMES":             3,
	"GET_CAPACITY":             4,
}
var NodeServiceCapability_RPC_Type_name = map[int32]string{
	0: "UNKNOWN",
}
var NodeServiceCapability_RPC_Type_value = map[string]int32{
	"UNKNOWN": 0,
}
var VolumeCapability_AccessMode_Mode_name = map[int32]string{
	0: "UNKNOWN",
	1: "SINGLE_NODE_WRITER",
	2: "SINGLE_NODE_READER_ONLY",
	3: "MULTI_NODE_READER_ONLY",
	4: "MULTI_NODE_SINGLE_WRITER",
	5: "MULTI_NODE_MULTI_WRITER",
}
var VolumeCapability_AccessMode_Mode_value = map[string]int32{
	"UNKNOWN":                  0,
	"SINGLE_NODE_WRITER":       1,
	"SINGLE_NODE_READER_ONLY":  2,
	"MULTI_NODE_READER_ONLY":   3,
	"MULTI_NODE_SINGLE_WRITER": 4,
	"MULTI_NODE_MULTI_WRITER":  5,
}

Functions

func RegisterControllerServer

func RegisterControllerServer(s *grpc.Server, srv ControllerServer)

func RegisterIdentityServer

func RegisterIdentityServer(s *grpc.Server, srv IdentityServer)

func RegisterNodeServer

func RegisterNodeServer(s *grpc.Server, srv NodeServer)

Types

type CapacityRange

type CapacityRange struct {
	// Volume must be at least this big. This field is OPTIONAL.
	// A value of 0 is equal to an unspecified field value.
	RequiredBytes uint64 `protobuf:"varint,1,opt,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"`
	// Volume must not be bigger than this. This field is OPTIONAL.
	// A value of 0 is equal to an unspecified field value.
	LimitBytes uint64 `protobuf:"varint,2,opt,name=limit_bytes,json=limitBytes" json:"limit_bytes,omitempty"`
}

The capacity of the storage space in bytes. To specify an exact size, `required_bytes` and `limit_bytes` can be set to the same value. At least one of the these fields MUST be specified.

func (*CapacityRange) Descriptor

func (*CapacityRange) Descriptor() ([]byte, []int)

func (*CapacityRange) GetLimitBytes

func (m *CapacityRange) GetLimitBytes() uint64

func (*CapacityRange) GetRequiredBytes

func (m *CapacityRange) GetRequiredBytes() uint64

func (*CapacityRange) ProtoMessage

func (*CapacityRange) ProtoMessage()

func (*CapacityRange) Reset

func (m *CapacityRange) Reset()

func (*CapacityRange) String

func (m *CapacityRange) String() string

type ControllerClient

func NewControllerClient

func NewControllerClient(cc *grpc.ClientConn) ControllerClient

type ControllerGetCapabilitiesRequest

type ControllerGetCapabilitiesRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*ControllerGetCapabilitiesRequest) Descriptor

func (*ControllerGetCapabilitiesRequest) Descriptor() ([]byte, []int)

func (*ControllerGetCapabilitiesRequest) GetVersion

func (m *ControllerGetCapabilitiesRequest) GetVersion() *Version

func (*ControllerGetCapabilitiesRequest) ProtoMessage

func (*ControllerGetCapabilitiesRequest) ProtoMessage()

func (*ControllerGetCapabilitiesRequest) Reset

func (*ControllerGetCapabilitiesRequest) String

type ControllerGetCapabilitiesResponse

type ControllerGetCapabilitiesResponse struct {
	// All the capabilities that the controller service supports. This
	// field is OPTIONAL.
	Capabilities []*ControllerServiceCapability `protobuf:"bytes,2,rep,name=capabilities" json:"capabilities,omitempty"`
}

func (*ControllerGetCapabilitiesResponse) Descriptor

func (*ControllerGetCapabilitiesResponse) Descriptor() ([]byte, []int)

func (*ControllerGetCapabilitiesResponse) GetCapabilities

func (*ControllerGetCapabilitiesResponse) ProtoMessage

func (*ControllerGetCapabilitiesResponse) ProtoMessage()

func (*ControllerGetCapabilitiesResponse) Reset

func (*ControllerGetCapabilitiesResponse) String

type ControllerProbeRequest

type ControllerProbeRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*ControllerProbeRequest) Descriptor

func (*ControllerProbeRequest) Descriptor() ([]byte, []int)

func (*ControllerProbeRequest) GetVersion

func (m *ControllerProbeRequest) GetVersion() *Version

func (*ControllerProbeRequest) ProtoMessage

func (*ControllerProbeRequest) ProtoMessage()

func (*ControllerProbeRequest) Reset

func (m *ControllerProbeRequest) Reset()

func (*ControllerProbeRequest) String

func (m *ControllerProbeRequest) String() string

type ControllerProbeResponse

type ControllerProbeResponse struct {
}

func (*ControllerProbeResponse) Descriptor

func (*ControllerProbeResponse) Descriptor() ([]byte, []int)

func (*ControllerProbeResponse) ProtoMessage

func (*ControllerProbeResponse) ProtoMessage()

func (*ControllerProbeResponse) Reset

func (m *ControllerProbeResponse) Reset()

func (*ControllerProbeResponse) String

func (m *ControllerProbeResponse) String() string

type ControllerPublishVolumeRequest

type ControllerPublishVolumeRequest struct {
	// The API version assumed by the CO. This field is REQUIRED.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume to be used on a node.
	// This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// The ID of the node. This field is REQUIRED. The CO SHALL set this
	// field to match the node ID returned by `GetNodeID`.
	NodeId string `protobuf:"bytes,3,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
	// The capability of the volume the CO expects the volume to have.
	// This is a REQUIRED field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,4,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"`
	// Whether to publish the volume in readonly mode. This field is
	// REQUIRED.
	Readonly bool `protobuf:"varint,5,opt,name=readonly" json:"readonly,omitempty"`
	// End user credentials used to authenticate/authorize controller
	// publish request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,6,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Attributes of the volume to be used on a node. This field is
	// OPTIONAL and MUST match the attributes of the VolumeInfo identified
	// by `volume_id`.
	VolumeAttributes map[string]string `protobuf:"bytes,7,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*ControllerPublishVolumeRequest) Descriptor

func (*ControllerPublishVolumeRequest) Descriptor() ([]byte, []int)

func (*ControllerPublishVolumeRequest) GetNodeId

func (m *ControllerPublishVolumeRequest) GetNodeId() string

func (*ControllerPublishVolumeRequest) GetReadonly

func (m *ControllerPublishVolumeRequest) GetReadonly() bool

func (*ControllerPublishVolumeRequest) GetUserCredentials

func (m *ControllerPublishVolumeRequest) GetUserCredentials() map[string]string

func (*ControllerPublishVolumeRequest) GetVersion

func (m *ControllerPublishVolumeRequest) GetVersion() *Version

func (*ControllerPublishVolumeRequest) GetVolumeAttributes

func (m *ControllerPublishVolumeRequest) GetVolumeAttributes() map[string]string

func (*ControllerPublishVolumeRequest) GetVolumeCapability

func (m *ControllerPublishVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*ControllerPublishVolumeRequest) GetVolumeId

func (m *ControllerPublishVolumeRequest) GetVolumeId() string

func (*ControllerPublishVolumeRequest) ProtoMessage

func (*ControllerPublishVolumeRequest) ProtoMessage()

func (*ControllerPublishVolumeRequest) Reset

func (m *ControllerPublishVolumeRequest) Reset()

func (*ControllerPublishVolumeRequest) String

type ControllerPublishVolumeResponse

type ControllerPublishVolumeResponse struct {
	// The SP specific information that will be passed to the Plugin in
	// the subsequent `NodePublishVolume` call for the given volume.
	// This information is opaque to the CO. This field is OPTIONAL.
	PublishVolumeInfo map[string]string `protobuf:"bytes,1,rep,name=publish_volume_info,json=publishVolumeInfo" json:"publish_volume_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

func (*ControllerPublishVolumeResponse) Descriptor

func (*ControllerPublishVolumeResponse) Descriptor() ([]byte, []int)

func (*ControllerPublishVolumeResponse) GetPublishVolumeInfo

func (m *ControllerPublishVolumeResponse) GetPublishVolumeInfo() map[string]string

func (*ControllerPublishVolumeResponse) ProtoMessage

func (*ControllerPublishVolumeResponse) ProtoMessage()

func (*ControllerPublishVolumeResponse) Reset

func (*ControllerPublishVolumeResponse) String

type ControllerServer

type ControllerServiceCapability

type ControllerServiceCapability struct {
	// Types that are valid to be assigned to Type:
	//	*ControllerServiceCapability_Rpc
	Type isControllerServiceCapability_Type `protobuf_oneof:"type"`
}

Specifies a capability of the controller service.

func (*ControllerServiceCapability) Descriptor

func (*ControllerServiceCapability) Descriptor() ([]byte, []int)

func (*ControllerServiceCapability) GetRpc

func (*ControllerServiceCapability) GetType

func (m *ControllerServiceCapability) GetType() isControllerServiceCapability_Type

func (*ControllerServiceCapability) ProtoMessage

func (*ControllerServiceCapability) ProtoMessage()

func (*ControllerServiceCapability) Reset

func (m *ControllerServiceCapability) Reset()

func (*ControllerServiceCapability) String

func (m *ControllerServiceCapability) String() string

func (*ControllerServiceCapability) XXX_OneofFuncs

func (*ControllerServiceCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type ControllerServiceCapability_RPC

type ControllerServiceCapability_RPC struct {
	Type ControllerServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,enum=csi.ControllerServiceCapability_RPC_Type" json:"type,omitempty"`
}

func (*ControllerServiceCapability_RPC) Descriptor

func (*ControllerServiceCapability_RPC) Descriptor() ([]byte, []int)

func (*ControllerServiceCapability_RPC) GetType

func (*ControllerServiceCapability_RPC) ProtoMessage

func (*ControllerServiceCapability_RPC) ProtoMessage()

func (*ControllerServiceCapability_RPC) Reset

func (*ControllerServiceCapability_RPC) String

type ControllerServiceCapability_RPC_Type

type ControllerServiceCapability_RPC_Type int32
const (
	ControllerServiceCapability_RPC_UNKNOWN                  ControllerServiceCapability_RPC_Type = 0
	ControllerServiceCapability_RPC_CREATE_DELETE_VOLUME     ControllerServiceCapability_RPC_Type = 1
	ControllerServiceCapability_RPC_PUBLISH_UNPUBLISH_VOLUME ControllerServiceCapability_RPC_Type = 2
	ControllerServiceCapability_RPC_LIST_VOLUMES             ControllerServiceCapability_RPC_Type = 3
	ControllerServiceCapability_RPC_GET_CAPACITY             ControllerServiceCapability_RPC_Type = 4
)

func (ControllerServiceCapability_RPC_Type) EnumDescriptor

func (ControllerServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int)

func (ControllerServiceCapability_RPC_Type) String

type ControllerServiceCapability_Rpc

type ControllerServiceCapability_Rpc struct {
	Rpc *ControllerServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,oneof"`
}

type ControllerUnpublishVolumeRequest

type ControllerUnpublishVolumeRequest struct {
	// The API version assumed by the CO. This field is REQUIRED.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// The ID of the node. This field is OPTIONAL. The CO SHOULD set this
	// field to match the node ID returned by `GetNodeID` or leave it
	// unset. If the value is set, the SP MUST unpublish the volume from
	// the specified node. If the value is unset, the SP MUST unpublish
	// the volume from all nodes it is published to.
	NodeId string `protobuf:"bytes,3,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
	// End user credentials used to authenticate/authorize controller
	// unpublish request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,4,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*ControllerUnpublishVolumeRequest) Descriptor

func (*ControllerUnpublishVolumeRequest) Descriptor() ([]byte, []int)

func (*ControllerUnpublishVolumeRequest) GetNodeId

func (*ControllerUnpublishVolumeRequest) GetUserCredentials

func (m *ControllerUnpublishVolumeRequest) GetUserCredentials() map[string]string

func (*ControllerUnpublishVolumeRequest) GetVersion

func (m *ControllerUnpublishVolumeRequest) GetVersion() *Version

func (*ControllerUnpublishVolumeRequest) GetVolumeId

func (m *ControllerUnpublishVolumeRequest) GetVolumeId() string

func (*ControllerUnpublishVolumeRequest) ProtoMessage

func (*ControllerUnpublishVolumeRequest) ProtoMessage()

func (*ControllerUnpublishVolumeRequest) Reset

func (*ControllerUnpublishVolumeRequest) String

type ControllerUnpublishVolumeResponse

type ControllerUnpublishVolumeResponse struct {
}

func (*ControllerUnpublishVolumeResponse) Descriptor

func (*ControllerUnpublishVolumeResponse) Descriptor() ([]byte, []int)

func (*ControllerUnpublishVolumeResponse) ProtoMessage

func (*ControllerUnpublishVolumeResponse) ProtoMessage()

func (*ControllerUnpublishVolumeResponse) Reset

func (*ControllerUnpublishVolumeResponse) String

type CreateVolumeRequest

type CreateVolumeRequest struct {
	// The API version assumed by the CO. This field is REQUIRED.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The suggested name for the storage space. This field is REQUIRED.
	// It serves two purposes:
	// 1) Idempotency - This name is generated by the CO to achieve
	//    idempotency. If `CreateVolume` fails, the volume may or may not
	//    be provisioned. In this case, the CO may call `CreateVolume`
	//    again, with the same name, to ensure the volume exists. The
	//    Plugin should ensure that multiple `CreateVolume` calls for the
	//    same name do not result in more than one piece of storage
	//    provisioned corresponding to that name. If a Plugin is unable to
	//    enforce idempotency, the CO's error recovery logic could result
	//    in multiple (unused) volumes being provisioned.
	// 2) Suggested name - Some storage systems allow callers to specify
	//    an identifier by which to refer to the newly provisioned
	//    storage. If a storage system supports this, it can optionally
	//    use this name as the identifier for the new volume.
	Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	// This field is OPTIONAL. This allows the CO to specify the capacity
	// requirement of the volume to be provisioned. If not specified, the
	// Plugin MAY choose an implementation-defined capacity range.
	CapacityRange *CapacityRange `protobuf:"bytes,3,opt,name=capacity_range,json=capacityRange" json:"capacity_range,omitempty"`
	// The capabilities that the provisioned volume MUST have: the Plugin
	// MUST provision a volume that could satisfy ALL of the
	// capabilities specified in this list. The Plugin MUST assume that
	// the CO MAY use the  provisioned volume later with ANY of the
	// capabilities specified in this list. This also enables the CO to do
	// early validation: if ANY of the specified volume capabilities are
	// not supported by the Plugin, the call SHALL fail. This field is
	// REQUIRED.
	VolumeCapabilities []*VolumeCapability `protobuf:"bytes,4,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
	// Plugin specific parameters passed in as opaque key-value pairs.
	// This field is OPTIONAL. The Plugin is responsible for parsing and
	// validating these parameters. COs will treat these as opaque.
	Parameters map[string]string `protobuf:"bytes,5,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// End user credentials used to authenticate/authorize volume creation
	// request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,6,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*CreateVolumeRequest) Descriptor

func (*CreateVolumeRequest) Descriptor() ([]byte, []int)

func (*CreateVolumeRequest) GetCapacityRange

func (m *CreateVolumeRequest) GetCapacityRange() *CapacityRange

func (*CreateVolumeRequest) GetName

func (m *CreateVolumeRequest) GetName() string

func (*CreateVolumeRequest) GetParameters

func (m *CreateVolumeRequest) GetParameters() map[string]string

func (*CreateVolumeRequest) GetUserCredentials

func (m *CreateVolumeRequest) GetUserCredentials() map[string]string

func (*CreateVolumeRequest) GetVersion

func (m *CreateVolumeRequest) GetVersion() *Version

func (*CreateVolumeRequest) GetVolumeCapabilities

func (m *CreateVolumeRequest) GetVolumeCapabilities() []*VolumeCapability

func (*CreateVolumeRequest) ProtoMessage

func (*CreateVolumeRequest) ProtoMessage()

func (*CreateVolumeRequest) Reset

func (m *CreateVolumeRequest) Reset()

func (*CreateVolumeRequest) String

func (m *CreateVolumeRequest) String() string

type CreateVolumeResponse

type CreateVolumeResponse struct {
	// Contains all attributes of the newly created volume that are
	// relevant to the CO along with information required by the Plugin
	// to uniquely identify the volume. This field is REQUIRED.
	VolumeInfo *VolumeInfo `protobuf:"bytes,1,opt,name=volume_info,json=volumeInfo" json:"volume_info,omitempty"`
}

func (*CreateVolumeResponse) Descriptor

func (*CreateVolumeResponse) Descriptor() ([]byte, []int)

func (*CreateVolumeResponse) GetVolumeInfo

func (m *CreateVolumeResponse) GetVolumeInfo() *VolumeInfo

func (*CreateVolumeResponse) ProtoMessage

func (*CreateVolumeResponse) ProtoMessage()

func (*CreateVolumeResponse) Reset

func (m *CreateVolumeResponse) Reset()

func (*CreateVolumeResponse) String

func (m *CreateVolumeResponse) String() string

type DeleteVolumeRequest

type DeleteVolumeRequest struct {
	// The API version assumed by the CO. This field is REQUIRED.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume to be deprovisioned.
	// This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// End user credentials used to authenticate/authorize volume deletion
	// request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,3,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*DeleteVolumeRequest) Descriptor

func (*DeleteVolumeRequest) Descriptor() ([]byte, []int)

func (*DeleteVolumeRequest) GetUserCredentials

func (m *DeleteVolumeRequest) GetUserCredentials() map[string]string

func (*DeleteVolumeRequest) GetVersion

func (m *DeleteVolumeRequest) GetVersion() *Version

func (*DeleteVolumeRequest) GetVolumeId

func (m *DeleteVolumeRequest) GetVolumeId() string

func (*DeleteVolumeRequest) ProtoMessage

func (*DeleteVolumeRequest) ProtoMessage()

func (*DeleteVolumeRequest) Reset

func (m *DeleteVolumeRequest) Reset()

func (*DeleteVolumeRequest) String

func (m *DeleteVolumeRequest) String() string

type DeleteVolumeResponse

type DeleteVolumeResponse struct {
}

func (*DeleteVolumeResponse) Descriptor

func (*DeleteVolumeResponse) Descriptor() ([]byte, []int)

func (*DeleteVolumeResponse) ProtoMessage

func (*DeleteVolumeResponse) ProtoMessage()

func (*DeleteVolumeResponse) Reset

func (m *DeleteVolumeResponse) Reset()

func (*DeleteVolumeResponse) String

func (m *DeleteVolumeResponse) String() string

type GetCapacityRequest

type GetCapacityRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// If specified, the Plugin SHALL report the capacity of the storage
	// that can be used to provision volumes that satisfy ALL of the
	// specified `volume_capabilities`. These are the same
	// `volume_capabilities` the CO will use in `CreateVolumeRequest`.
	// This field is OPTIONAL.
	VolumeCapabilities []*VolumeCapability `protobuf:"bytes,2,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
	// If specified, the Plugin SHALL report the capacity of the storage
	// that can be used to provision volumes with the given Plugin
	// specific `parameters`. These are the same `parameters` the CO will
	// use in `CreateVolumeRequest`. This field is OPTIONAL.
	Parameters map[string]string `protobuf:"bytes,3,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*GetCapacityRequest) Descriptor

func (*GetCapacityRequest) Descriptor() ([]byte, []int)

func (*GetCapacityRequest) GetParameters

func (m *GetCapacityRequest) GetParameters() map[string]string

func (*GetCapacityRequest) GetVersion

func (m *GetCapacityRequest) GetVersion() *Version

func (*GetCapacityRequest) GetVolumeCapabilities

func (m *GetCapacityRequest) GetVolumeCapabilities() []*VolumeCapability

func (*GetCapacityRequest) ProtoMessage

func (*GetCapacityRequest) ProtoMessage()

func (*GetCapacityRequest) Reset

func (m *GetCapacityRequest) Reset()

func (*GetCapacityRequest) String

func (m *GetCapacityRequest) String() string

type GetCapacityResponse

type GetCapacityResponse struct {
	// The available capacity of the storage that can be used to
	// provision volumes. If `volume_capabilities` or `parameters` is
	// specified in the request, the Plugin SHALL take those into
	// consideration when calculating the available capacity of the
	// storage. This field is REQUIRED.
	AvailableCapacity uint64 `protobuf:"varint,1,opt,name=available_capacity,json=availableCapacity" json:"available_capacity,omitempty"`
}

func (*GetCapacityResponse) Descriptor

func (*GetCapacityResponse) Descriptor() ([]byte, []int)

func (*GetCapacityResponse) GetAvailableCapacity

func (m *GetCapacityResponse) GetAvailableCapacity() uint64

func (*GetCapacityResponse) ProtoMessage

func (*GetCapacityResponse) ProtoMessage()

func (*GetCapacityResponse) Reset

func (m *GetCapacityResponse) Reset()

func (*GetCapacityResponse) String

func (m *GetCapacityResponse) String() string

type GetNodeIDRequest

type GetNodeIDRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*GetNodeIDRequest) Descriptor

func (*GetNodeIDRequest) Descriptor() ([]byte, []int)

func (*GetNodeIDRequest) GetVersion

func (m *GetNodeIDRequest) GetVersion() *Version

func (*GetNodeIDRequest) ProtoMessage

func (*GetNodeIDRequest) ProtoMessage()

func (*GetNodeIDRequest) Reset

func (m *GetNodeIDRequest) Reset()

func (*GetNodeIDRequest) String

func (m *GetNodeIDRequest) String() string

type GetNodeIDResponse

type GetNodeIDResponse struct {
	// The ID of the node as understood by the SP which SHALL be used by
	// CO in subsequent `ControllerPublishVolume`.
	// This is a REQUIRED field.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
}

func (*GetNodeIDResponse) Descriptor

func (*GetNodeIDResponse) Descriptor() ([]byte, []int)

func (*GetNodeIDResponse) GetNodeId

func (m *GetNodeIDResponse) GetNodeId() string

func (*GetNodeIDResponse) ProtoMessage

func (*GetNodeIDResponse) ProtoMessage()

func (*GetNodeIDResponse) Reset

func (m *GetNodeIDResponse) Reset()

func (*GetNodeIDResponse) String

func (m *GetNodeIDResponse) String() string

type GetPluginInfoRequest

type GetPluginInfoRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*GetPluginInfoRequest) Descriptor

func (*GetPluginInfoRequest) Descriptor() ([]byte, []int)

func (*GetPluginInfoRequest) GetVersion

func (m *GetPluginInfoRequest) GetVersion() *Version

func (*GetPluginInfoRequest) ProtoMessage

func (*GetPluginInfoRequest) ProtoMessage()

func (*GetPluginInfoRequest) Reset

func (m *GetPluginInfoRequest) Reset()

func (*GetPluginInfoRequest) String

func (m *GetPluginInfoRequest) String() string

type GetPluginInfoResponse

type GetPluginInfoResponse struct {
	// The name MUST follow reverse domain name notation format
	// (https://en.wikipedia.org/wiki/Reverse_domain_name_notation).
	// It SHOULD include the plugin's host company name and the plugin
	// name, to minimize the possibility of collisions. It MUST be 63
	// characters or less, beginning and ending with an alphanumeric
	// character ([a-z0-9A-Z]) with dashes (-), underscores (_),
	// dots (.), and alphanumerics between. This field is REQUIRED.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// This field is REQUIRED. Value of this field is opaque to the CO.
	VendorVersion string `protobuf:"bytes,2,opt,name=vendor_version,json=vendorVersion" json:"vendor_version,omitempty"`
	// This field is OPTIONAL. Values are opaque to the CO.
	Manifest map[string]string `protobuf:"bytes,3,rep,name=manifest" json:"manifest,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

func (*GetPluginInfoResponse) Descriptor

func (*GetPluginInfoResponse) Descriptor() ([]byte, []int)

func (*GetPluginInfoResponse) GetManifest

func (m *GetPluginInfoResponse) GetManifest() map[string]string

func (*GetPluginInfoResponse) GetName

func (m *GetPluginInfoResponse) GetName() string

func (*GetPluginInfoResponse) GetVendorVersion

func (m *GetPluginInfoResponse) GetVendorVersion() string

func (*GetPluginInfoResponse) ProtoMessage

func (*GetPluginInfoResponse) ProtoMessage()

func (*GetPluginInfoResponse) Reset

func (m *GetPluginInfoResponse) Reset()

func (*GetPluginInfoResponse) String

func (m *GetPluginInfoResponse) String() string

type GetSupportedVersionsRequest

type GetSupportedVersionsRequest struct {
}

////// //////

func (*GetSupportedVersionsRequest) Descriptor

func (*GetSupportedVersionsRequest) Descriptor() ([]byte, []int)

func (*GetSupportedVersionsRequest) ProtoMessage

func (*GetSupportedVersionsRequest) ProtoMessage()

func (*GetSupportedVersionsRequest) Reset

func (m *GetSupportedVersionsRequest) Reset()

func (*GetSupportedVersionsRequest) String

func (m *GetSupportedVersionsRequest) String() string

type GetSupportedVersionsResponse

type GetSupportedVersionsResponse struct {
	// All the CSI versions that the Plugin supports. This field is
	// REQUIRED.
	SupportedVersions []*Version `protobuf:"bytes,1,rep,name=supported_versions,json=supportedVersions" json:"supported_versions,omitempty"`
}

func (*GetSupportedVersionsResponse) Descriptor

func (*GetSupportedVersionsResponse) Descriptor() ([]byte, []int)

func (*GetSupportedVersionsResponse) GetSupportedVersions

func (m *GetSupportedVersionsResponse) GetSupportedVersions() []*Version

func (*GetSupportedVersionsResponse) ProtoMessage

func (*GetSupportedVersionsResponse) ProtoMessage()

func (*GetSupportedVersionsResponse) Reset

func (m *GetSupportedVersionsResponse) Reset()

func (*GetSupportedVersionsResponse) String

type IdentityClient

type IdentityClient interface {
	GetSupportedVersions(ctx context.Context, in *GetSupportedVersionsRequest, opts ...grpc.CallOption) (*GetSupportedVersionsResponse, error)
	GetPluginInfo(ctx context.Context, in *GetPluginInfoRequest, opts ...grpc.CallOption) (*GetPluginInfoResponse, error)
}

func NewIdentityClient

func NewIdentityClient(cc *grpc.ClientConn) IdentityClient

type IdentityServer

type IdentityServer interface {
	GetSupportedVersions(context.Context, *GetSupportedVersionsRequest) (*GetSupportedVersionsResponse, error)
	GetPluginInfo(context.Context, *GetPluginInfoRequest) (*GetPluginInfoResponse, error)
}

type ListVolumesRequest

type ListVolumesRequest struct {
	// The API version assumed by the CO. This field is REQUIRED.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// If specified (non-zero value), the Plugin MUST NOT return more
	// entries than this number in the response. If the actual number of
	// entries is more than this number, the Plugin MUST set `next_token`
	// in the response which can be used to get the next page of entries
	// in the subsequent `ListVolumes` call. This field is OPTIONAL. If
	// not specified (zero value), it means there is no restriction on the
	// number of entries that can be returned.
	MaxEntries uint32 `protobuf:"varint,2,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"`
	// A token to specify where to start paginating. Set this field to
	// `next_token` returned by a previous `ListVolumes` call to get the
	// next page of entries. This field is OPTIONAL.
	// An empty string is equal to an unspecified field value.
	StartingToken string `protobuf:"bytes,3,opt,name=starting_token,json=startingToken" json:"starting_token,omitempty"`
}

////// //////

func (*ListVolumesRequest) Descriptor

func (*ListVolumesRequest) Descriptor() ([]byte, []int)

func (*ListVolumesRequest) GetMaxEntries

func (m *ListVolumesRequest) GetMaxEntries() uint32

func (*ListVolumesRequest) GetStartingToken

func (m *ListVolumesRequest) GetStartingToken() string

func (*ListVolumesRequest) GetVersion

func (m *ListVolumesRequest) GetVersion() *Version

func (*ListVolumesRequest) ProtoMessage

func (*ListVolumesRequest) ProtoMessage()

func (*ListVolumesRequest) Reset

func (m *ListVolumesRequest) Reset()

func (*ListVolumesRequest) String

func (m *ListVolumesRequest) String() string

type ListVolumesResponse

type ListVolumesResponse struct {
	Entries []*ListVolumesResponse_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
	// This token allows you to get the next page of entries for
	// `ListVolumes` request. If the number of entries is larger than
	// `max_entries`, use the `next_token` as a value for the
	// `starting_token` field in the next `ListVolumes` request. This
	// field is OPTIONAL.
	// An empty string is equal to an unspecified field value.
	NextToken string `protobuf:"bytes,2,opt,name=next_token,json=nextToken" json:"next_token,omitempty"`
}

func (*ListVolumesResponse) Descriptor

func (*ListVolumesResponse) Descriptor() ([]byte, []int)

func (*ListVolumesResponse) GetEntries

func (*ListVolumesResponse) GetNextToken

func (m *ListVolumesResponse) GetNextToken() string

func (*ListVolumesResponse) ProtoMessage

func (*ListVolumesResponse) ProtoMessage()

func (*ListVolumesResponse) Reset

func (m *ListVolumesResponse) Reset()

func (*ListVolumesResponse) String

func (m *ListVolumesResponse) String() string

type ListVolumesResponse_Entry

type ListVolumesResponse_Entry struct {
	VolumeInfo *VolumeInfo `protobuf:"bytes,1,opt,name=volume_info,json=volumeInfo" json:"volume_info,omitempty"`
}

func (*ListVolumesResponse_Entry) Descriptor

func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int)

func (*ListVolumesResponse_Entry) GetVolumeInfo

func (m *ListVolumesResponse_Entry) GetVolumeInfo() *VolumeInfo

func (*ListVolumesResponse_Entry) ProtoMessage

func (*ListVolumesResponse_Entry) ProtoMessage()

func (*ListVolumesResponse_Entry) Reset

func (m *ListVolumesResponse_Entry) Reset()

func (*ListVolumesResponse_Entry) String

func (m *ListVolumesResponse_Entry) String() string

type NodeClient

type NodeClient interface {
	NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error)
	NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error)
	GetNodeID(ctx context.Context, in *GetNodeIDRequest, opts ...grpc.CallOption) (*GetNodeIDResponse, error)
	NodeProbe(ctx context.Context, in *NodeProbeRequest, opts ...grpc.CallOption) (*NodeProbeResponse, error)
	NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error)
}

func NewNodeClient

func NewNodeClient(cc *grpc.ClientConn) NodeClient

type NodeGetCapabilitiesRequest

type NodeGetCapabilitiesRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*NodeGetCapabilitiesRequest) Descriptor

func (*NodeGetCapabilitiesRequest) Descriptor() ([]byte, []int)

func (*NodeGetCapabilitiesRequest) GetVersion

func (m *NodeGetCapabilitiesRequest) GetVersion() *Version

func (*NodeGetCapabilitiesRequest) ProtoMessage

func (*NodeGetCapabilitiesRequest) ProtoMessage()

func (*NodeGetCapabilitiesRequest) Reset

func (m *NodeGetCapabilitiesRequest) Reset()

func (*NodeGetCapabilitiesRequest) String

func (m *NodeGetCapabilitiesRequest) String() string

type NodeGetCapabilitiesResponse

type NodeGetCapabilitiesResponse struct {
	// All the capabilities that the node service supports. This field
	// is OPTIONAL.
	Capabilities []*NodeServiceCapability `protobuf:"bytes,1,rep,name=capabilities" json:"capabilities,omitempty"`
}

func (*NodeGetCapabilitiesResponse) Descriptor

func (*NodeGetCapabilitiesResponse) Descriptor() ([]byte, []int)

func (*NodeGetCapabilitiesResponse) GetCapabilities

func (m *NodeGetCapabilitiesResponse) GetCapabilities() []*NodeServiceCapability

func (*NodeGetCapabilitiesResponse) ProtoMessage

func (*NodeGetCapabilitiesResponse) ProtoMessage()

func (*NodeGetCapabilitiesResponse) Reset

func (m *NodeGetCapabilitiesResponse) Reset()

func (*NodeGetCapabilitiesResponse) String

func (m *NodeGetCapabilitiesResponse) String() string

type NodeProbeRequest

type NodeProbeRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
}

////// //////

func (*NodeProbeRequest) Descriptor

func (*NodeProbeRequest) Descriptor() ([]byte, []int)

func (*NodeProbeRequest) GetVersion

func (m *NodeProbeRequest) GetVersion() *Version

func (*NodeProbeRequest) ProtoMessage

func (*NodeProbeRequest) ProtoMessage()

func (*NodeProbeRequest) Reset

func (m *NodeProbeRequest) Reset()

func (*NodeProbeRequest) String

func (m *NodeProbeRequest) String() string

type NodeProbeResponse

type NodeProbeResponse struct {
}

func (*NodeProbeResponse) Descriptor

func (*NodeProbeResponse) Descriptor() ([]byte, []int)

func (*NodeProbeResponse) ProtoMessage

func (*NodeProbeResponse) ProtoMessage()

func (*NodeProbeResponse) Reset

func (m *NodeProbeResponse) Reset()

func (*NodeProbeResponse) String

func (m *NodeProbeResponse) String() string

type NodePublishVolumeRequest

type NodePublishVolumeRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume to publish. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// The CO SHALL set this field to the value returned by
	// `ControllerPublishVolume` if the corresponding Controller Plugin
	// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
	// left unset if the corresponding Controller Plugin does not have
	// this capability. This is an OPTIONAL field.
	PublishVolumeInfo map[string]string `protobuf:"bytes,3,rep,name=publish_volume_info,json=publishVolumeInfo" json:"publish_volume_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The path to which the volume will be published. It MUST be an
	// absolute path in the root filesystem of the process serving this
	// request. The CO SHALL ensure uniqueness of target_path per volume.
	// The CO SHALL ensure that the path exists, and that the process
	// serving the request has `read` and `write` permissions to the path.
	// This is a REQUIRED field.
	TargetPath string `protobuf:"bytes,4,opt,name=target_path,json=targetPath" json:"target_path,omitempty"`
	// The capability of the volume the CO expects the volume to have.
	// This is a REQUIRED field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"`
	// Whether to publish the volume in readonly mode. This field is
	// REQUIRED.
	Readonly bool `protobuf:"varint,6,opt,name=readonly" json:"readonly,omitempty"`
	// End user credentials used to authenticate/authorize node
	// publish request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,7,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Attributes of the volume to publish. This field is OPTIONAL and
	// MUST match the attributes of the VolumeInfo identified by
	// `volume_id`.
	VolumeAttributes map[string]string `protobuf:"bytes,8,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*NodePublishVolumeRequest) Descriptor

func (*NodePublishVolumeRequest) Descriptor() ([]byte, []int)

func (*NodePublishVolumeRequest) GetPublishVolumeInfo

func (m *NodePublishVolumeRequest) GetPublishVolumeInfo() map[string]string

func (*NodePublishVolumeRequest) GetReadonly

func (m *NodePublishVolumeRequest) GetReadonly() bool

func (*NodePublishVolumeRequest) GetTargetPath

func (m *NodePublishVolumeRequest) GetTargetPath() string

func (*NodePublishVolumeRequest) GetUserCredentials

func (m *NodePublishVolumeRequest) GetUserCredentials() map[string]string

func (*NodePublishVolumeRequest) GetVersion

func (m *NodePublishVolumeRequest) GetVersion() *Version

func (*NodePublishVolumeRequest) GetVolumeAttributes

func (m *NodePublishVolumeRequest) GetVolumeAttributes() map[string]string

func (*NodePublishVolumeRequest) GetVolumeCapability

func (m *NodePublishVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*NodePublishVolumeRequest) GetVolumeId

func (m *NodePublishVolumeRequest) GetVolumeId() string

func (*NodePublishVolumeRequest) ProtoMessage

func (*NodePublishVolumeRequest) ProtoMessage()

func (*NodePublishVolumeRequest) Reset

func (m *NodePublishVolumeRequest) Reset()

func (*NodePublishVolumeRequest) String

func (m *NodePublishVolumeRequest) String() string

type NodePublishVolumeResponse

type NodePublishVolumeResponse struct {
}

func (*NodePublishVolumeResponse) Descriptor

func (*NodePublishVolumeResponse) Descriptor() ([]byte, []int)

func (*NodePublishVolumeResponse) ProtoMessage

func (*NodePublishVolumeResponse) ProtoMessage()

func (*NodePublishVolumeResponse) Reset

func (m *NodePublishVolumeResponse) Reset()

func (*NodePublishVolumeResponse) String

func (m *NodePublishVolumeResponse) String() string

type NodeServer

type NodeServiceCapability

type NodeServiceCapability struct {
	// Types that are valid to be assigned to Type:
	//	*NodeServiceCapability_Rpc
	Type isNodeServiceCapability_Type `protobuf_oneof:"type"`
}

Specifies a capability of the node service.

func (*NodeServiceCapability) Descriptor

func (*NodeServiceCapability) Descriptor() ([]byte, []int)

func (*NodeServiceCapability) GetRpc

func (*NodeServiceCapability) GetType

func (m *NodeServiceCapability) GetType() isNodeServiceCapability_Type

func (*NodeServiceCapability) ProtoMessage

func (*NodeServiceCapability) ProtoMessage()

func (*NodeServiceCapability) Reset

func (m *NodeServiceCapability) Reset()

func (*NodeServiceCapability) String

func (m *NodeServiceCapability) String() string

func (*NodeServiceCapability) XXX_OneofFuncs

func (*NodeServiceCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type NodeServiceCapability_RPC

type NodeServiceCapability_RPC struct {
	Type NodeServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,enum=csi.NodeServiceCapability_RPC_Type" json:"type,omitempty"`
}

func (*NodeServiceCapability_RPC) Descriptor

func (*NodeServiceCapability_RPC) Descriptor() ([]byte, []int)

func (*NodeServiceCapability_RPC) GetType

func (*NodeServiceCapability_RPC) ProtoMessage

func (*NodeServiceCapability_RPC) ProtoMessage()

func (*NodeServiceCapability_RPC) Reset

func (m *NodeServiceCapability_RPC) Reset()

func (*NodeServiceCapability_RPC) String

func (m *NodeServiceCapability_RPC) String() string

type NodeServiceCapability_RPC_Type

type NodeServiceCapability_RPC_Type int32
const (
	NodeServiceCapability_RPC_UNKNOWN NodeServiceCapability_RPC_Type = 0
)

func (NodeServiceCapability_RPC_Type) EnumDescriptor

func (NodeServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int)

func (NodeServiceCapability_RPC_Type) String

type NodeServiceCapability_Rpc

type NodeServiceCapability_Rpc struct {
	Rpc *NodeServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,oneof"`
}

type NodeUnpublishVolumeRequest

type NodeUnpublishVolumeRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// The path at which the volume was published. It MUST be an absolute
	// path in the root filesystem of the process serving this request.
	// This is a REQUIRED field.
	TargetPath string `protobuf:"bytes,3,opt,name=target_path,json=targetPath" json:"target_path,omitempty"`
	// End user credentials used to authenticate/authorize node
	// unpublish request.
	// This field contains credential data, for example username and
	// password. Each key must consist of alphanumeric characters, '-',
	// '_' or '.'. Each value MUST contain a valid string. An SP MAY
	// choose to accept binary (non-string) data by using a binary-to-text
	// encoding scheme, like base64. An SP SHALL advertise the
	// requirements for credentials in documentation. COs SHALL permit
	// users to pass through the required credentials. This information is
	// sensitive and MUST be treated as such (not logged, etc.) by the CO.
	// This field is OPTIONAL.
	UserCredentials map[string]string `protobuf:"bytes,4,rep,name=user_credentials,json=userCredentials" json:"user_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*NodeUnpublishVolumeRequest) Descriptor

func (*NodeUnpublishVolumeRequest) Descriptor() ([]byte, []int)

func (*NodeUnpublishVolumeRequest) GetTargetPath

func (m *NodeUnpublishVolumeRequest) GetTargetPath() string

func (*NodeUnpublishVolumeRequest) GetUserCredentials

func (m *NodeUnpublishVolumeRequest) GetUserCredentials() map[string]string

func (*NodeUnpublishVolumeRequest) GetVersion

func (m *NodeUnpublishVolumeRequest) GetVersion() *Version

func (*NodeUnpublishVolumeRequest) GetVolumeId

func (m *NodeUnpublishVolumeRequest) GetVolumeId() string

func (*NodeUnpublishVolumeRequest) ProtoMessage

func (*NodeUnpublishVolumeRequest) ProtoMessage()

func (*NodeUnpublishVolumeRequest) Reset

func (m *NodeUnpublishVolumeRequest) Reset()

func (*NodeUnpublishVolumeRequest) String

func (m *NodeUnpublishVolumeRequest) String() string

type NodeUnpublishVolumeResponse

type NodeUnpublishVolumeResponse struct {
}

func (*NodeUnpublishVolumeResponse) Descriptor

func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int)

func (*NodeUnpublishVolumeResponse) ProtoMessage

func (*NodeUnpublishVolumeResponse) ProtoMessage()

func (*NodeUnpublishVolumeResponse) Reset

func (m *NodeUnpublishVolumeResponse) Reset()

func (*NodeUnpublishVolumeResponse) String

func (m *NodeUnpublishVolumeResponse) String() string

type ValidateVolumeCapabilitiesRequest

type ValidateVolumeCapabilitiesRequest struct {
	// The API version assumed by the CO. This is a REQUIRED field.
	Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the volume to check. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// The capabilities that the CO wants to check for the volume. This
	// call SHALL return "supported" only if all the volume capabilities
	// specified below are supported. This field is REQUIRED.
	VolumeCapabilities []*VolumeCapability `protobuf:"bytes,3,rep,name=volume_capabilities,json=volumeCapabilities" json:"volume_capabilities,omitempty"`
	// Attributes of the volume to check. This field is OPTIONAL and MUST
	// match the attributes of the VolumeInfo identified by `volume_id`.
	VolumeAttributes map[string]string `protobuf:"bytes,4,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

////// //////

func (*ValidateVolumeCapabilitiesRequest) Descriptor

func (*ValidateVolumeCapabilitiesRequest) Descriptor() ([]byte, []int)

func (*ValidateVolumeCapabilitiesRequest) GetVersion

func (m *ValidateVolumeCapabilitiesRequest) GetVersion() *Version

func (*ValidateVolumeCapabilitiesRequest) GetVolumeAttributes

func (m *ValidateVolumeCapabilitiesRequest) GetVolumeAttributes() map[string]string

func (*ValidateVolumeCapabilitiesRequest) GetVolumeCapabilities

func (m *ValidateVolumeCapabilitiesRequest) GetVolumeCapabilities() []*VolumeCapability

func (*ValidateVolumeCapabilitiesRequest) GetVolumeId

func (m *ValidateVolumeCapabilitiesRequest) GetVolumeId() string

func (*ValidateVolumeCapabilitiesRequest) ProtoMessage

func (*ValidateVolumeCapabilitiesRequest) ProtoMessage()

func (*ValidateVolumeCapabilitiesRequest) Reset

func (*ValidateVolumeCapabilitiesRequest) String

type ValidateVolumeCapabilitiesResponse

type ValidateVolumeCapabilitiesResponse struct {
	// True if the Plugin supports the specified capabilities for the
	// given volume. This field is REQUIRED.
	Supported bool `protobuf:"varint,1,opt,name=supported" json:"supported,omitempty"`
	// Message to the CO if `supported` above is false. This field is
	// OPTIONAL.
	// An empty string is equal to an unspecified field value.
	Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
}

func (*ValidateVolumeCapabilitiesResponse) Descriptor

func (*ValidateVolumeCapabilitiesResponse) Descriptor() ([]byte, []int)

func (*ValidateVolumeCapabilitiesResponse) GetMessage

func (*ValidateVolumeCapabilitiesResponse) GetSupported

func (m *ValidateVolumeCapabilitiesResponse) GetSupported() bool

func (*ValidateVolumeCapabilitiesResponse) ProtoMessage

func (*ValidateVolumeCapabilitiesResponse) ProtoMessage()

func (*ValidateVolumeCapabilitiesResponse) Reset

func (*ValidateVolumeCapabilitiesResponse) String

type Version

type Version struct {
	Major uint32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
	Minor uint32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
	Patch uint32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"`
}

Specifies a version in Semantic Version 2.0 format. (http://semver.org/spec/v2.0.0.html)

func (*Version) Descriptor

func (*Version) Descriptor() ([]byte, []int)

func (*Version) GetMajor

func (m *Version) GetMajor() uint32

func (*Version) GetMinor

func (m *Version) GetMinor() uint32

func (*Version) GetPatch

func (m *Version) GetPatch() uint32

func (*Version) ProtoMessage

func (*Version) ProtoMessage()

func (*Version) Reset

func (m *Version) Reset()

func (*Version) String

func (m *Version) String() string

type VolumeCapability

type VolumeCapability struct {
	// Specifies what API the volume will be accessed using. One of the
	// following fields MUST be specified.
	//
	// Types that are valid to be assigned to AccessType:
	//	*VolumeCapability_Block
	//	*VolumeCapability_Mount
	AccessType isVolumeCapability_AccessType `protobuf_oneof:"access_type"`
	// This is a REQUIRED field.
	AccessMode *VolumeCapability_AccessMode `protobuf:"bytes,3,opt,name=access_mode,json=accessMode" json:"access_mode,omitempty"`
}

Specify a capability of a volume.

func (*VolumeCapability) Descriptor

func (*VolumeCapability) Descriptor() ([]byte, []int)

func (*VolumeCapability) GetAccessMode

func (m *VolumeCapability) GetAccessMode() *VolumeCapability_AccessMode

func (*VolumeCapability) GetAccessType

func (m *VolumeCapability) GetAccessType() isVolumeCapability_AccessType

func (*VolumeCapability) GetBlock

func (*VolumeCapability) GetMount

func (*VolumeCapability) ProtoMessage

func (*VolumeCapability) ProtoMessage()

func (*VolumeCapability) Reset

func (m *VolumeCapability) Reset()

func (*VolumeCapability) String

func (m *VolumeCapability) String() string

func (*VolumeCapability) XXX_OneofFuncs

func (*VolumeCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type VolumeCapability_AccessMode

type VolumeCapability_AccessMode struct {
	// This field is REQUIRED.
	Mode VolumeCapability_AccessMode_Mode `protobuf:"varint,1,opt,name=mode,enum=csi.VolumeCapability_AccessMode_Mode" json:"mode,omitempty"`
}

Specify how a volume can be accessed.

func (*VolumeCapability_AccessMode) Descriptor

func (*VolumeCapability_AccessMode) Descriptor() ([]byte, []int)

func (*VolumeCapability_AccessMode) GetMode

func (*VolumeCapability_AccessMode) ProtoMessage

func (*VolumeCapability_AccessMode) ProtoMessage()

func (*VolumeCapability_AccessMode) Reset

func (m *VolumeCapability_AccessMode) Reset()

func (*VolumeCapability_AccessMode) String

func (m *VolumeCapability_AccessMode) String() string

type VolumeCapability_AccessMode_Mode

type VolumeCapability_AccessMode_Mode int32
const (
	VolumeCapability_AccessMode_UNKNOWN VolumeCapability_AccessMode_Mode = 0
	// Can only be published once as read/write on a single node, at
	// any given time.
	VolumeCapability_AccessMode_SINGLE_NODE_WRITER VolumeCapability_AccessMode_Mode = 1
	// Can only be published once as readonly on a single node, at
	// any given time.
	VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 2
	// Can be published as readonly at multiple nodes simultaneously.
	VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 3
	// Can be published at multiple nodes simultaneously. Only one of
	// the node can be used as read/write. The rest will be readonly.
	VolumeCapability_AccessMode_MULTI_NODE_SINGLE_WRITER VolumeCapability_AccessMode_Mode = 4
	// Can be published as read/write at multiple nodes
	// simultaneously.
	VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER VolumeCapability_AccessMode_Mode = 5
)

func (VolumeCapability_AccessMode_Mode) EnumDescriptor

func (VolumeCapability_AccessMode_Mode) EnumDescriptor() ([]byte, []int)

func (VolumeCapability_AccessMode_Mode) String

type VolumeCapability_Block

type VolumeCapability_Block struct {
	Block *VolumeCapability_BlockVolume `protobuf:"bytes,1,opt,name=block,oneof"`
}

type VolumeCapability_BlockVolume

type VolumeCapability_BlockVolume struct {
}

Indicate that the volume will be accessed via the block device API.

func (*VolumeCapability_BlockVolume) Descriptor

func (*VolumeCapability_BlockVolume) Descriptor() ([]byte, []int)

func (*VolumeCapability_BlockVolume) ProtoMessage

func (*VolumeCapability_BlockVolume) ProtoMessage()

func (*VolumeCapability_BlockVolume) Reset

func (m *VolumeCapability_BlockVolume) Reset()

func (*VolumeCapability_BlockVolume) String

type VolumeCapability_Mount

type VolumeCapability_Mount struct {
	Mount *VolumeCapability_MountVolume `protobuf:"bytes,2,opt,name=mount,oneof"`
}

type VolumeCapability_MountVolume

type VolumeCapability_MountVolume struct {
	// The filesystem type. This field is OPTIONAL.
	// An empty string is equal to an unspecified field value.
	FsType string `protobuf:"bytes,1,opt,name=fs_type,json=fsType" json:"fs_type,omitempty"`
	// The mount options that can be used for the volume. This field is
	// OPTIONAL. `mount_flags` MAY contain sensitive information.
	// Therefore, the CO and the Plugin MUST NOT leak this information
	// to untrusted entities. The total size of this repeated field
	// SHALL NOT exceed 4 KiB.
	MountFlags []string `protobuf:"bytes,2,rep,name=mount_flags,json=mountFlags" json:"mount_flags,omitempty"`
}

Indicate that the volume will be accessed via the filesystem API.

func (*VolumeCapability_MountVolume) Descriptor

func (*VolumeCapability_MountVolume) Descriptor() ([]byte, []int)

func (*VolumeCapability_MountVolume) GetFsType

func (m *VolumeCapability_MountVolume) GetFsType() string

func (*VolumeCapability_MountVolume) GetMountFlags

func (m *VolumeCapability_MountVolume) GetMountFlags() []string

func (*VolumeCapability_MountVolume) ProtoMessage

func (*VolumeCapability_MountVolume) ProtoMessage()

func (*VolumeCapability_MountVolume) Reset

func (m *VolumeCapability_MountVolume) Reset()

func (*VolumeCapability_MountVolume) String

type VolumeInfo

type VolumeInfo struct {
	// The capacity of the volume in bytes. This field is OPTIONAL. If not
	// set (value of 0), it indicates that the capacity of the volume is
	// unknown (e.g., NFS share).
	CapacityBytes uint64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes" json:"capacity_bytes,omitempty"`
	// Contains identity information for the created volume. This field is
	// REQUIRED. The identity information will be used by the CO in
	// subsequent calls to refer to the provisioned volume.
	Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
	// Attributes reflect static properties of a volume and MUST be passed
	// to volume validation and publishing calls.
	// Attributes SHALL be opaque to a CO. Attributes SHALL NOT be mutable
	// and SHALL be safe for the CO to cache. Attributes SHOULD NOT
	// contain sensitive information. Attributes MAY NOT uniquely identify
	// a volume. A volume uniquely identified by `id` SHALL always report
	// the same attributes. This field is OPTIONAL and when present MUST
	// be passed to volume validation and publishing calls.
	Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

The information about a provisioned volume.

func (*VolumeInfo) Descriptor

func (*VolumeInfo) Descriptor() ([]byte, []int)

func (*VolumeInfo) GetAttributes

func (m *VolumeInfo) GetAttributes() map[string]string

func (*VolumeInfo) GetCapacityBytes

func (m *VolumeInfo) GetCapacityBytes() uint64

func (*VolumeInfo) GetId

func (m *VolumeInfo) GetId() string

func (*VolumeInfo) ProtoMessage

func (*VolumeInfo) ProtoMessage()

func (*VolumeInfo) Reset

func (m *VolumeInfo) Reset()

func (*VolumeInfo) String

func (m *VolumeInfo) String() string

Source Files

csi.pb.go

Version
v0.1.0-rc1
Published
Dec 19, 2017
Platform
darwin/amd64
Imports
5 packages
Last checked
2 days ago

Tools for package owners.