package csi

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

Package csi is a generated protocol buffer package.

It is generated from these files:

csi.proto

It has these top-level messages:

GetPluginInfoRequest
GetPluginInfoResponse
GetPluginCapabilitiesRequest
GetPluginCapabilitiesResponse
PluginCapability
ProbeRequest
ProbeResponse
CreateVolumeRequest
CreateVolumeResponse
VolumeCapability
CapacityRange
Volume
DeleteVolumeRequest
DeleteVolumeResponse
ControllerPublishVolumeRequest
ControllerPublishVolumeResponse
ControllerUnpublishVolumeRequest
ControllerUnpublishVolumeResponse
ValidateVolumeCapabilitiesRequest
ValidateVolumeCapabilitiesResponse
ListVolumesRequest
ListVolumesResponse
GetCapacityRequest
GetCapacityResponse
ControllerGetCapabilitiesRequest
ControllerGetCapabilitiesResponse
ControllerServiceCapability
NodeStageVolumeRequest
NodeStageVolumeResponse
NodeUnstageVolumeRequest
NodeUnstageVolumeResponse
NodePublishVolumeRequest
NodePublishVolumeResponse
NodeUnpublishVolumeRequest
NodeUnpublishVolumeResponse
NodeGetIdRequest
NodeGetIdResponse
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",
	1: "STAGE_UNSTAGE_VOLUME",
}
var NodeServiceCapability_RPC_Type_value = map[string]int32{
	"UNKNOWN":              0,
	"STAGE_UNSTAGE_VOLUME": 1,
}
var PluginCapability_Service_Type_name = map[int32]string{
	0: "UNKNOWN",
	1: "CONTROLLER_SERVICE",
}
var PluginCapability_Service_Type_value = map[string]int32{
	"UNKNOWN":            0,
	"CONTROLLER_SERVICE": 1,
}
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.
	// The value of this field MUST NOT be negative.
	RequiredBytes int64 `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.
	// The value of this field MUST NOT be negative.
	LimitBytes int64 `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() int64

func (*CapacityRange) GetRequiredBytes

func (m *CapacityRange) GetRequiredBytes() int64

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 {
}

func (*ControllerGetCapabilitiesRequest) Descriptor

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

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 ControllerPublishVolumeRequest

type ControllerPublishVolumeRequest struct {
	// The ID of the volume to be used on a node.
	// This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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 `NodeGetId`.
	NodeId string `protobuf:"bytes,2,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,3,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,4,opt,name=readonly" json:"readonly,omitempty"`
	// Secrets required by plugin to complete controller publish volume
	// request.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	ControllerPublishSecrets map[string]string `protobuf:"bytes,5,rep,name=controller_publish_secrets,json=controllerPublishSecrets" json:"controller_publish_secrets,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 Volume identified
	// by `volume_id`.
	VolumeAttributes map[string]string `protobuf:"bytes,6,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) GetControllerPublishSecrets

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

func (*ControllerPublishVolumeRequest) GetNodeId

func (m *ControllerPublishVolumeRequest) GetNodeId() string

func (*ControllerPublishVolumeRequest) GetReadonly

func (m *ControllerPublishVolumeRequest) GetReadonly() bool

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 `NodeStageVolume` or `NodePublishVolume` calls
	// for the given volume.
	// This information is opaque to the CO. This field is OPTIONAL.
	PublishInfo map[string]string `protobuf:"bytes,1,rep,name=publish_info,json=publishInfo" json:"publish_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) GetPublishInfo

func (m *ControllerPublishVolumeResponse) GetPublishInfo() 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.v0.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 ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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 `NodeGetId` 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,2,opt,name=node_id,json=nodeId" json:"node_id,omitempty"`
	// Secrets required by plugin to complete controller unpublish volume
	// request. This SHOULD be the same secrets passed to the
	// ControllerPublishVolume.
	// call for the specified volume.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	ControllerUnpublishSecrets map[string]string `protobuf:"bytes,3,rep,name=controller_unpublish_secrets,json=controllerUnpublishSecrets" json:"controller_unpublish_secrets,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) GetControllerUnpublishSecrets

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

func (*ControllerUnpublishVolumeRequest) GetNodeId

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 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,1,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,2,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,3,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,4,rep,name=parameters" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Secrets required by plugin to complete volume creation request.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	ControllerCreateSecrets map[string]string `protobuf:"bytes,5,rep,name=controller_create_secrets,json=controllerCreateSecrets" json:"controller_create_secrets,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) GetControllerCreateSecrets

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

func (*CreateVolumeRequest) GetName

func (m *CreateVolumeRequest) GetName() string

func (*CreateVolumeRequest) GetParameters

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

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.
	Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"`
}

func (*CreateVolumeResponse) Descriptor

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

func (*CreateVolumeResponse) GetVolume

func (m *CreateVolumeResponse) GetVolume() *Volume

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 ID of the volume to be deprovisioned.
	// This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
	// Secrets required by plugin to complete volume deletion request.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	ControllerDeleteSecrets map[string]string `protobuf:"bytes,2,rep,name=controller_delete_secrets,json=controllerDeleteSecrets" json:"controller_delete_secrets,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) GetControllerDeleteSecrets

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

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 {
	// 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,1,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,2,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) 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.
	// The value of this field MUST NOT be negative.
	AvailableCapacity int64 `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() int64

func (*GetCapacityResponse) ProtoMessage

func (*GetCapacityResponse) ProtoMessage()

func (*GetCapacityResponse) Reset

func (m *GetCapacityResponse) Reset()

func (*GetCapacityResponse) String

func (m *GetCapacityResponse) String() string

type GetPluginCapabilitiesRequest

type GetPluginCapabilitiesRequest struct {
}

func (*GetPluginCapabilitiesRequest) Descriptor

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

func (*GetPluginCapabilitiesRequest) ProtoMessage

func (*GetPluginCapabilitiesRequest) ProtoMessage()

func (*GetPluginCapabilitiesRequest) Reset

func (m *GetPluginCapabilitiesRequest) Reset()

func (*GetPluginCapabilitiesRequest) String

type GetPluginCapabilitiesResponse

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

func (*GetPluginCapabilitiesResponse) Descriptor

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

func (*GetPluginCapabilitiesResponse) GetCapabilities

func (m *GetPluginCapabilitiesResponse) GetCapabilities() []*PluginCapability

func (*GetPluginCapabilitiesResponse) ProtoMessage

func (*GetPluginCapabilitiesResponse) ProtoMessage()

func (*GetPluginCapabilitiesResponse) Reset

func (m *GetPluginCapabilitiesResponse) Reset()

func (*GetPluginCapabilitiesResponse) String

type GetPluginInfoRequest

type GetPluginInfoRequest struct {
}

func (*GetPluginInfoRequest) Descriptor

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

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 IdentityClient

type IdentityClient interface {
	GetPluginInfo(ctx context.Context, in *GetPluginInfoRequest, opts ...grpc.CallOption) (*GetPluginInfoResponse, error)
	GetPluginCapabilities(ctx context.Context, in *GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*GetPluginCapabilitiesResponse, error)
	Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error)
}

func NewIdentityClient

func NewIdentityClient(cc *grpc.ClientConn) IdentityClient

type IdentityServer

type ListVolumesRequest

type ListVolumesRequest struct {
	// 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.
	// The value of this field MUST NOT be negative.
	MaxEntries int32 `protobuf:"varint,1,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,2,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() int32

func (*ListVolumesRequest) GetStartingToken

func (m *ListVolumesRequest) GetStartingToken() string

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 {
	Volume *Volume `protobuf:"bytes,1,opt,name=volume" json:"volume,omitempty"`
}

func (*ListVolumesResponse_Entry) Descriptor

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

func (*ListVolumesResponse_Entry) GetVolume

func (m *ListVolumesResponse_Entry) GetVolume() *Volume

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

func NewNodeClient

func NewNodeClient(cc *grpc.ClientConn) NodeClient

type NodeGetCapabilitiesRequest

type NodeGetCapabilitiesRequest struct {
}

func (*NodeGetCapabilitiesRequest) Descriptor

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

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 NodeGetIdRequest

type NodeGetIdRequest struct {
}

func (*NodeGetIdRequest) Descriptor

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

func (*NodeGetIdRequest) ProtoMessage

func (*NodeGetIdRequest) ProtoMessage()

func (*NodeGetIdRequest) Reset

func (m *NodeGetIdRequest) Reset()

func (*NodeGetIdRequest) String

func (m *NodeGetIdRequest) String() string

type NodeGetIdResponse

type NodeGetIdResponse 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 (*NodeGetIdResponse) Descriptor

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

func (*NodeGetIdResponse) GetNodeId

func (m *NodeGetIdResponse) GetNodeId() string

func (*NodeGetIdResponse) ProtoMessage

func (*NodeGetIdResponse) ProtoMessage()

func (*NodeGetIdResponse) Reset

func (m *NodeGetIdResponse) Reset()

func (*NodeGetIdResponse) String

func (m *NodeGetIdResponse) String() string

type NodePublishVolumeRequest

type NodePublishVolumeRequest struct {
	// The ID of the volume to publish. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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.
	PublishInfo map[string]string `protobuf:"bytes,2,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The path to which the device was mounted by `NodeStageVolume`.
	// It MUST be an absolute path in the root filesystem of the process
	// serving this request.
	// It MUST be set if the Node Plugin implements the
	// `STAGE_UNSTAGE_VOLUME` node capability.
	// This is an OPTIONAL field.
	StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"`
	// 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"`
	// Secrets required by plugin to complete node publish volume request.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	NodePublishSecrets map[string]string `protobuf:"bytes,7,rep,name=node_publish_secrets,json=nodePublishSecrets" json:"node_publish_secrets,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 Volume 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) GetNodePublishSecrets

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

func (*NodePublishVolumeRequest) GetPublishInfo

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

func (*NodePublishVolumeRequest) GetReadonly

func (m *NodePublishVolumeRequest) GetReadonly() bool

func (*NodePublishVolumeRequest) GetStagingTargetPath

func (m *NodePublishVolumeRequest) GetStagingTargetPath() string

func (*NodePublishVolumeRequest) GetTargetPath

func (m *NodePublishVolumeRequest) GetTargetPath() string

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.v0.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
	NodeServiceCapability_RPC_STAGE_UNSTAGE_VOLUME NodeServiceCapability_RPC_Type = 1
)

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 NodeStageVolumeRequest

type NodeStageVolumeRequest struct {
	// The ID of the volume to publish. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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.
	PublishInfo map[string]string `protobuf:"bytes,2,rep,name=publish_info,json=publishInfo" json:"publish_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 that there is only one
	// staging_target_path per volume.
	// This is a REQUIRED field.
	StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,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"`
	// Secrets required by plugin to complete node stage volume request.
	// A secret is a string to string map where the key identifies the
	// name of the secret (e.g. "username" or "password"), and the value
	// contains the secret data (e.g. "bob" or "abc123").
	// 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 required secret keys and
	// values in documentation.
	// CO SHALL permit passing through the required secrets.
	// A CO MAY pass the same secrets to all RPCs, therefore the keys for
	// all unique secrets that an SP expects must be unique across all CSI
	// operations.
	// This information is sensitive and MUST be treated as such (not
	// logged, etc.) by the CO.
	// This field is OPTIONAL.
	NodeStageSecrets map[string]string `protobuf:"bytes,5,rep,name=node_stage_secrets,json=nodeStageSecrets" json:"node_stage_secrets,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,6,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 (*NodeStageVolumeRequest) Descriptor

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

func (*NodeStageVolumeRequest) GetNodeStageSecrets

func (m *NodeStageVolumeRequest) GetNodeStageSecrets() map[string]string

func (*NodeStageVolumeRequest) GetPublishInfo

func (m *NodeStageVolumeRequest) GetPublishInfo() map[string]string

func (*NodeStageVolumeRequest) GetStagingTargetPath

func (m *NodeStageVolumeRequest) GetStagingTargetPath() string

func (*NodeStageVolumeRequest) GetVolumeAttributes

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

func (*NodeStageVolumeRequest) GetVolumeCapability

func (m *NodeStageVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*NodeStageVolumeRequest) GetVolumeId

func (m *NodeStageVolumeRequest) GetVolumeId() string

func (*NodeStageVolumeRequest) ProtoMessage

func (*NodeStageVolumeRequest) ProtoMessage()

func (*NodeStageVolumeRequest) Reset

func (m *NodeStageVolumeRequest) Reset()

func (*NodeStageVolumeRequest) String

func (m *NodeStageVolumeRequest) String() string

type NodeStageVolumeResponse

type NodeStageVolumeResponse struct {
}

func (*NodeStageVolumeResponse) Descriptor

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

func (*NodeStageVolumeResponse) ProtoMessage

func (*NodeStageVolumeResponse) ProtoMessage()

func (*NodeStageVolumeResponse) Reset

func (m *NodeStageVolumeResponse) Reset()

func (*NodeStageVolumeResponse) String

func (m *NodeStageVolumeResponse) String() string

type NodeUnpublishVolumeRequest

type NodeUnpublishVolumeRequest struct {
	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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,2,opt,name=target_path,json=targetPath" json:"target_path,omitempty"`
}

func (*NodeUnpublishVolumeRequest) Descriptor

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

func (*NodeUnpublishVolumeRequest) GetTargetPath

func (m *NodeUnpublishVolumeRequest) GetTargetPath() string

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 NodeUnstageVolumeRequest

type NodeUnstageVolumeRequest struct {
	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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.
	StagingTargetPath string `protobuf:"bytes,2,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"`
}

func (*NodeUnstageVolumeRequest) Descriptor

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

func (*NodeUnstageVolumeRequest) GetStagingTargetPath

func (m *NodeUnstageVolumeRequest) GetStagingTargetPath() string

func (*NodeUnstageVolumeRequest) GetVolumeId

func (m *NodeUnstageVolumeRequest) GetVolumeId() string

func (*NodeUnstageVolumeRequest) ProtoMessage

func (*NodeUnstageVolumeRequest) ProtoMessage()

func (*NodeUnstageVolumeRequest) Reset

func (m *NodeUnstageVolumeRequest) Reset()

func (*NodeUnstageVolumeRequest) String

func (m *NodeUnstageVolumeRequest) String() string

type NodeUnstageVolumeResponse

type NodeUnstageVolumeResponse struct {
}

func (*NodeUnstageVolumeResponse) Descriptor

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

func (*NodeUnstageVolumeResponse) ProtoMessage

func (*NodeUnstageVolumeResponse) ProtoMessage()

func (*NodeUnstageVolumeResponse) Reset

func (m *NodeUnstageVolumeResponse) Reset()

func (*NodeUnstageVolumeResponse) String

func (m *NodeUnstageVolumeResponse) String() string

type PluginCapability

type PluginCapability struct {
	// Types that are valid to be assigned to Type:
	//	*PluginCapability_Service_
	Type isPluginCapability_Type `protobuf_oneof:"type"`
}

Specifies a capability of the plugin.

func (*PluginCapability) Descriptor

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

func (*PluginCapability) GetService

func (m *PluginCapability) GetService() *PluginCapability_Service

func (*PluginCapability) GetType

func (m *PluginCapability) GetType() isPluginCapability_Type

func (*PluginCapability) ProtoMessage

func (*PluginCapability) ProtoMessage()

func (*PluginCapability) Reset

func (m *PluginCapability) Reset()

func (*PluginCapability) String

func (m *PluginCapability) String() string

func (*PluginCapability) XXX_OneofFuncs

func (*PluginCapability) 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 PluginCapability_Service

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

func (*PluginCapability_Service) Descriptor

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

func (*PluginCapability_Service) GetType

func (*PluginCapability_Service) ProtoMessage

func (*PluginCapability_Service) ProtoMessage()

func (*PluginCapability_Service) Reset

func (m *PluginCapability_Service) Reset()

func (*PluginCapability_Service) String

func (m *PluginCapability_Service) String() string

type PluginCapability_Service_

type PluginCapability_Service_ struct {
	Service *PluginCapability_Service `protobuf:"bytes,1,opt,name=service,oneof"`
}

type PluginCapability_Service_Type

type PluginCapability_Service_Type int32
const (
	PluginCapability_Service_UNKNOWN PluginCapability_Service_Type = 0
	// CONTROLLER_SERVICE indicates that the Plugin provides RPCs for
	// the ControllerService. Plugins SHOULD provide this capability.
	// In rare cases certain plugins may wish to omit the
	// ControllerService entirely from their implementation, but such
	// SHOULD NOT be the common case.
	// The presence of this capability determines whether the CO will
	// attempt to invoke the REQUIRED ControllerService RPCs, as well
	// as specific RPCs as indicated by ControllerGetCapabilities.
	PluginCapability_Service_CONTROLLER_SERVICE PluginCapability_Service_Type = 1
)

func (PluginCapability_Service_Type) EnumDescriptor

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

func (PluginCapability_Service_Type) String

type ProbeRequest

type ProbeRequest struct {
}

func (*ProbeRequest) Descriptor

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

func (*ProbeRequest) ProtoMessage

func (*ProbeRequest) ProtoMessage()

func (*ProbeRequest) Reset

func (m *ProbeRequest) Reset()

func (*ProbeRequest) String

func (m *ProbeRequest) String() string

type ProbeResponse

type ProbeResponse struct {
}

func (*ProbeResponse) Descriptor

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

func (*ProbeResponse) ProtoMessage

func (*ProbeResponse) ProtoMessage()

func (*ProbeResponse) Reset

func (m *ProbeResponse) Reset()

func (*ProbeResponse) String

func (m *ProbeResponse) String() string

type ValidateVolumeCapabilitiesRequest

type ValidateVolumeCapabilitiesRequest struct {
	// The ID of the volume to check. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,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,2,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 Volume identified by `volume_id`.
	VolumeAttributes map[string]string `protobuf:"bytes,3,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) 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 Volume

type Volume 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).
	// The value of this field MUST NOT be negative.
	CapacityBytes int64 `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 (*Volume) Descriptor

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

func (*Volume) GetAttributes

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

func (*Volume) GetCapacityBytes

func (m *Volume) GetCapacityBytes() int64

func (*Volume) GetId

func (m *Volume) GetId() string

func (*Volume) ProtoMessage

func (*Volume) ProtoMessage()

func (*Volume) Reset

func (m *Volume) Reset()

func (*Volume) String

func (m *Volume) 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.v0.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

Source Files

csi.pb.go

Version
v0.2.0
Published
Feb 26, 2018
Platform
linux/amd64
Imports
5 packages
Last checked
2 hours ago

Tools for package owners.