csiparser

package
v0.0.0-...-525fac3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PluginCapability_Service_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "CONTROLLER_SERVICE",
		2: "VOLUME_ACCESSIBILITY_CONSTRAINTS",
	}
	PluginCapability_Service_Type_value = map[string]int32{
		"UNKNOWN":                          0,
		"CONTROLLER_SERVICE":               1,
		"VOLUME_ACCESSIBILITY_CONSTRAINTS": 2,
	}
)

Enum value maps for PluginCapability_Service_Type.

View Source
var (
	PluginCapability_VolumeExpansion_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "ONLINE",
		2: "OFFLINE",
	}
	PluginCapability_VolumeExpansion_Type_value = map[string]int32{
		"UNKNOWN": 0,
		"ONLINE":  1,
		"OFFLINE": 2,
	}
)

Enum value maps for PluginCapability_VolumeExpansion_Type.

View Source
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",
	}
	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,
	}
)

Enum value maps for VolumeCapability_AccessMode_Mode.

View Source
var (
	ControllerServiceCapability_RPC_Type_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "CREATE_DELETE_VOLUME",
		2:  "PUBLISH_UNPUBLISH_VOLUME",
		3:  "LIST_VOLUMES",
		4:  "GET_CAPACITY",
		5:  "CREATE_DELETE_SNAPSHOT",
		6:  "LIST_SNAPSHOTS",
		7:  "CLONE_VOLUME",
		8:  "PUBLISH_READONLY",
		9:  "EXPAND_VOLUME",
		10: "LIST_VOLUMES_PUBLISHED_NODES",
		11: "VOLUME_CONDITION",
		12: "GET_VOLUME",
	}
	ControllerServiceCapability_RPC_Type_value = map[string]int32{
		"UNKNOWN":                      0,
		"CREATE_DELETE_VOLUME":         1,
		"PUBLISH_UNPUBLISH_VOLUME":     2,
		"LIST_VOLUMES":                 3,
		"GET_CAPACITY":                 4,
		"CREATE_DELETE_SNAPSHOT":       5,
		"LIST_SNAPSHOTS":               6,
		"CLONE_VOLUME":                 7,
		"PUBLISH_READONLY":             8,
		"EXPAND_VOLUME":                9,
		"LIST_VOLUMES_PUBLISHED_NODES": 10,
		"VOLUME_CONDITION":             11,
		"GET_VOLUME":                   12,
	}
)

Enum value maps for ControllerServiceCapability_RPC_Type.

View Source
var (
	VolumeUsage_Unit_name = map[int32]string{
		0: "UNKNOWN",
		1: "BYTES",
		2: "INODES",
	}
	VolumeUsage_Unit_value = map[string]int32{
		"UNKNOWN": 0,
		"BYTES":   1,
		"INODES":  2,
	}
)

Enum value maps for VolumeUsage_Unit.

View Source
var (
	NodeServiceCapability_RPC_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "STAGE_UNSTAGE_VOLUME",
		2: "GET_VOLUME_STATS",
		3: "EXPAND_VOLUME",
		4: "VOLUME_CONDITION",
	}
	NodeServiceCapability_RPC_Type_value = map[string]int32{
		"UNKNOWN":              0,
		"STAGE_UNSTAGE_VOLUME": 1,
		"GET_VOLUME_STATS":     2,
		"EXPAND_VOLUME":        3,
		"VOLUME_CONDITION":     4,
	}
)

Enum value maps for NodeServiceCapability_RPC_Type.

View Source
var (
	// Indicates that a field MAY contain information that is sensitive
	// and MUST be treated as such (e.g. not logged).
	//
	// optional bool csi_secret = 1059;
	E_CsiSecret = &file_csi_proto_extTypes[2]
	// Indicates that this field is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_field = 1060;
	E_AlphaField = &file_csi_proto_extTypes[3]
)

Extension fields to descriptor.FieldOptions.

View Source
var (
	// Indicates that this enum is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_enum = 1060;
	E_AlphaEnum = &file_csi_proto_extTypes[0]
)

Extension fields to descriptor.EnumOptions.

View Source
var (
	// Indicates that this enum value is OPTIONAL and part of an
	// experimental API that may be deprecated and eventually removed
	// between minor releases.
	//
	// optional bool alpha_enum_value = 1060;
	E_AlphaEnumValue = &file_csi_proto_extTypes[1]
)

Extension fields to descriptor.EnumValueOptions.

View Source
var (
	// Indicates that this message is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_message = 1060;
	E_AlphaMessage = &file_csi_proto_extTypes[4]
)

Extension fields to descriptor.MessageOptions.

View Source
var (
	// Indicates that this method is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_method = 1060;
	E_AlphaMethod = &file_csi_proto_extTypes[5]
)

Extension fields to descriptor.MethodOptions.

View Source
var (
	// Indicates that this service is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_service = 1060;
	E_AlphaService = &file_csi_proto_extTypes[6]
)

Extension fields to descriptor.ServiceOptions.

Functions

func ToJson

func ToJson(log CsiLog) string

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,proto3" 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,proto3" json:"limit_bytes,omitempty"`
	// contains filtered or unexported fields
}

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

func (*CapacityRange) Descriptor deprecated

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

Deprecated: Use CapacityRange.ProtoReflect.Descriptor instead.

func (*CapacityRange) GetLimitBytes

func (x *CapacityRange) GetLimitBytes() int64

func (*CapacityRange) GetRequiredBytes

func (x *CapacityRange) GetRequiredBytes() int64

func (*CapacityRange) ProtoMessage

func (*CapacityRange) ProtoMessage()

func (*CapacityRange) ProtoReflect

func (x *CapacityRange) ProtoReflect() protoreflect.Message

func (*CapacityRange) Reset

func (x *CapacityRange) Reset()

func (*CapacityRange) String

func (x *CapacityRange) String() string

type ControllerExpandVolumeRequest

type ControllerExpandVolumeRequest struct {

	// The ID of the volume to expand. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// This allows CO to specify the capacity requirements of the volume
	// after expansion. This field is REQUIRED.
	CapacityRange *CapacityRange `protobuf:"bytes,2,opt,name=capacity_range,json=capacityRange,proto3" json:"capacity_range,omitempty"`
	// Secrets required by the plugin for expanding the volume.
	// This field is OPTIONAL.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// Volume capability describing how the CO intends to use this volume.
	// This allows SP to determine if volume is being used as a block
	// device or mounted file system. For example - if volume is
	// being used as a block device - the SP MAY set
	// node_expansion_required to false in ControllerExpandVolumeResponse
	// to skip invocation of NodeExpandVolume on the node by the CO.
	// This is an OPTIONAL field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,4,opt,name=volume_capability,json=volumeCapability,proto3" json:"volume_capability,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerExpandVolumeRequest) Descriptor deprecated

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

Deprecated: Use ControllerExpandVolumeRequest.ProtoReflect.Descriptor instead.

func (*ControllerExpandVolumeRequest) GetCapacityRange

func (x *ControllerExpandVolumeRequest) GetCapacityRange() *CapacityRange

func (*ControllerExpandVolumeRequest) GetSecrets

func (x *ControllerExpandVolumeRequest) GetSecrets() map[string]string

func (*ControllerExpandVolumeRequest) GetVolumeCapability

func (x *ControllerExpandVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*ControllerExpandVolumeRequest) GetVolumeId

func (x *ControllerExpandVolumeRequest) GetVolumeId() string

func (*ControllerExpandVolumeRequest) ProtoMessage

func (*ControllerExpandVolumeRequest) ProtoMessage()

func (*ControllerExpandVolumeRequest) ProtoReflect

func (*ControllerExpandVolumeRequest) Reset

func (x *ControllerExpandVolumeRequest) Reset()

func (*ControllerExpandVolumeRequest) String

type ControllerExpandVolumeResponse

type ControllerExpandVolumeResponse struct {

	// Capacity of volume after expansion. This field is REQUIRED.
	CapacityBytes int64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes,proto3" json:"capacity_bytes,omitempty"`
	// Whether node expansion is required for the volume. When true
	// the CO MUST make NodeExpandVolume RPC call on the node. This field
	// is REQUIRED.
	NodeExpansionRequired bool `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ControllerExpandVolumeResponse) Descriptor deprecated

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

Deprecated: Use ControllerExpandVolumeResponse.ProtoReflect.Descriptor instead.

func (*ControllerExpandVolumeResponse) GetCapacityBytes

func (x *ControllerExpandVolumeResponse) GetCapacityBytes() int64

func (*ControllerExpandVolumeResponse) GetNodeExpansionRequired

func (x *ControllerExpandVolumeResponse) GetNodeExpansionRequired() bool

func (*ControllerExpandVolumeResponse) ProtoMessage

func (*ControllerExpandVolumeResponse) ProtoMessage()

func (*ControllerExpandVolumeResponse) ProtoReflect

func (*ControllerExpandVolumeResponse) Reset

func (x *ControllerExpandVolumeResponse) Reset()

func (*ControllerExpandVolumeResponse) String

type ControllerGetCapabilitiesRequest

type ControllerGetCapabilitiesRequest struct {
	// contains filtered or unexported fields
}

func (*ControllerGetCapabilitiesRequest) Descriptor deprecated

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

Deprecated: Use ControllerGetCapabilitiesRequest.ProtoReflect.Descriptor instead.

func (*ControllerGetCapabilitiesRequest) ProtoMessage

func (*ControllerGetCapabilitiesRequest) ProtoMessage()

func (*ControllerGetCapabilitiesRequest) ProtoReflect

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,1,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerGetCapabilitiesResponse) Descriptor deprecated

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

Deprecated: Use ControllerGetCapabilitiesResponse.ProtoReflect.Descriptor instead.

func (*ControllerGetCapabilitiesResponse) GetCapabilities

func (*ControllerGetCapabilitiesResponse) ProtoMessage

func (*ControllerGetCapabilitiesResponse) ProtoMessage()

func (*ControllerGetCapabilitiesResponse) ProtoReflect

func (*ControllerGetCapabilitiesResponse) Reset

func (*ControllerGetCapabilitiesResponse) String

type ControllerGetVolumeRequest

type ControllerGetVolumeRequest struct {

	// The ID of the volume to fetch current volume information for.
	// This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerGetVolumeRequest) Descriptor deprecated

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

Deprecated: Use ControllerGetVolumeRequest.ProtoReflect.Descriptor instead.

func (*ControllerGetVolumeRequest) GetVolumeId

func (x *ControllerGetVolumeRequest) GetVolumeId() string

func (*ControllerGetVolumeRequest) ProtoMessage

func (*ControllerGetVolumeRequest) ProtoMessage()

func (*ControllerGetVolumeRequest) ProtoReflect

func (*ControllerGetVolumeRequest) Reset

func (x *ControllerGetVolumeRequest) Reset()

func (*ControllerGetVolumeRequest) String

func (x *ControllerGetVolumeRequest) String() string

type ControllerGetVolumeResponse

type ControllerGetVolumeResponse struct {

	// This field is REQUIRED
	Volume *Volume `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume,omitempty"`
	// This field is REQUIRED.
	Status *ControllerGetVolumeResponse_VolumeStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerGetVolumeResponse) Descriptor deprecated

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

Deprecated: Use ControllerGetVolumeResponse.ProtoReflect.Descriptor instead.

func (*ControllerGetVolumeResponse) GetStatus

func (*ControllerGetVolumeResponse) GetVolume

func (x *ControllerGetVolumeResponse) GetVolume() *Volume

func (*ControllerGetVolumeResponse) ProtoMessage

func (*ControllerGetVolumeResponse) ProtoMessage()

func (*ControllerGetVolumeResponse) ProtoReflect

func (*ControllerGetVolumeResponse) Reset

func (x *ControllerGetVolumeResponse) Reset()

func (*ControllerGetVolumeResponse) String

func (x *ControllerGetVolumeResponse) String() string

type ControllerGetVolumeResponse_VolumeStatus

type ControllerGetVolumeResponse_VolumeStatus struct {

	// A list of all the `node_id` of nodes that this volume is
	// controller published on.
	// This field is OPTIONAL.
	// This field MUST be specified if the PUBLISH_UNPUBLISH_VOLUME
	// controller capability is supported.
	// published_node_ids MAY include nodes not published to or
	// reported by the SP. The CO MUST be resilient to that.
	PublishedNodeIds []string `protobuf:"bytes,1,rep,name=published_node_ids,json=publishedNodeIds,proto3" json:"published_node_ids,omitempty"`
	// Information about the current condition of the volume.
	// This field is OPTIONAL.
	// This field MUST be specified if the
	// VOLUME_CONDITION controller capability is supported.
	VolumeCondition *VolumeCondition `protobuf:"bytes,2,opt,name=volume_condition,json=volumeCondition,proto3" json:"volume_condition,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerGetVolumeResponse_VolumeStatus) Descriptor deprecated

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

Deprecated: Use ControllerGetVolumeResponse_VolumeStatus.ProtoReflect.Descriptor instead.

func (*ControllerGetVolumeResponse_VolumeStatus) GetPublishedNodeIds

func (x *ControllerGetVolumeResponse_VolumeStatus) GetPublishedNodeIds() []string

func (*ControllerGetVolumeResponse_VolumeStatus) GetVolumeCondition

func (*ControllerGetVolumeResponse_VolumeStatus) ProtoMessage

func (*ControllerGetVolumeResponse_VolumeStatus) ProtoReflect

func (*ControllerGetVolumeResponse_VolumeStatus) Reset

func (*ControllerGetVolumeResponse_VolumeStatus) 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,proto3" 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 `NodeGetInfo`.
	NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// Volume capability describing how the CO intends to use this volume.
	// SP MUST ensure the CO can use the published volume as described.
	// Otherwise SP MUST return the appropriate gRPC error code.
	// This is a REQUIRED field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,3,opt,name=volume_capability,json=volumeCapability,proto3" json:"volume_capability,omitempty"`
	// Indicates SP MUST publish the volume in readonly mode.
	// CO MUST set this field to false if SP does not have the
	// PUBLISH_READONLY controller capability.
	// This is a REQUIRED field.
	Readonly bool `protobuf:"varint,4,opt,name=readonly,proto3" json:"readonly,omitempty"`
	// Secrets required by plugin to complete controller publish volume
	// request. This field is OPTIONAL. Refer to the
	// `Secrets Requirements` section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// Volume context as returned by SP in
	// CreateVolumeResponse.Volume.volume_context.
	// This field is OPTIONAL and MUST match the volume_context of the
	// volume identified by `volume_id`.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ControllerPublishVolumeRequest) Descriptor deprecated

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

Deprecated: Use ControllerPublishVolumeRequest.ProtoReflect.Descriptor instead.

func (*ControllerPublishVolumeRequest) GetNodeId

func (x *ControllerPublishVolumeRequest) GetNodeId() string

func (*ControllerPublishVolumeRequest) GetReadonly

func (x *ControllerPublishVolumeRequest) GetReadonly() bool

func (*ControllerPublishVolumeRequest) GetSecrets

func (x *ControllerPublishVolumeRequest) GetSecrets() map[string]string

func (*ControllerPublishVolumeRequest) GetVolumeCapability

func (x *ControllerPublishVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*ControllerPublishVolumeRequest) GetVolumeContext

func (x *ControllerPublishVolumeRequest) GetVolumeContext() map[string]string

func (*ControllerPublishVolumeRequest) GetVolumeId

func (x *ControllerPublishVolumeRequest) GetVolumeId() string

func (*ControllerPublishVolumeRequest) ProtoMessage

func (*ControllerPublishVolumeRequest) ProtoMessage()

func (*ControllerPublishVolumeRequest) ProtoReflect

func (*ControllerPublishVolumeRequest) Reset

func (x *ControllerPublishVolumeRequest) Reset()

func (*ControllerPublishVolumeRequest) String

type ControllerPublishVolumeResponse

type ControllerPublishVolumeResponse struct {

	// Opaque static publish properties of the volume. SP MAY use this
	// field to ensure subsequent `NodeStageVolume` or `NodePublishVolume`
	// calls calls have contextual information.
	// The contents of this field SHALL be opaque to a CO.
	// The contents of this field SHALL NOT be mutable.
	// The contents of this field SHALL be safe for the CO to cache.
	// The contents of this field SHOULD NOT contain sensitive
	// information.
	// The contents of this field SHOULD NOT be used for uniquely
	// identifying a volume. The `volume_id` alone SHOULD be sufficient to
	// identify the volume.
	// This field is OPTIONAL and when present MUST be passed to
	// subsequent `NodeStageVolume` or `NodePublishVolume` calls
	PublishContext map[string]string `` /* 191-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ControllerPublishVolumeResponse) Descriptor deprecated

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

Deprecated: Use ControllerPublishVolumeResponse.ProtoReflect.Descriptor instead.

func (*ControllerPublishVolumeResponse) GetPublishContext

func (x *ControllerPublishVolumeResponse) GetPublishContext() map[string]string

func (*ControllerPublishVolumeResponse) ProtoMessage

func (*ControllerPublishVolumeResponse) ProtoMessage()

func (*ControllerPublishVolumeResponse) ProtoReflect

func (*ControllerPublishVolumeResponse) Reset

func (*ControllerPublishVolumeResponse) String

type ControllerServiceCapability

type ControllerServiceCapability struct {

	// Types that are assignable to Type:
	//	*ControllerServiceCapability_Rpc
	Type isControllerServiceCapability_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Specifies a capability of the controller service.

func (*ControllerServiceCapability) Descriptor deprecated

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

Deprecated: Use ControllerServiceCapability.ProtoReflect.Descriptor instead.

func (*ControllerServiceCapability) GetRpc

func (*ControllerServiceCapability) GetType

func (m *ControllerServiceCapability) GetType() isControllerServiceCapability_Type

func (*ControllerServiceCapability) ProtoMessage

func (*ControllerServiceCapability) ProtoMessage()

func (*ControllerServiceCapability) ProtoReflect

func (*ControllerServiceCapability) Reset

func (x *ControllerServiceCapability) Reset()

func (*ControllerServiceCapability) String

func (x *ControllerServiceCapability) String() string

type ControllerServiceCapability_RPC

type ControllerServiceCapability_RPC struct {
	Type ControllerServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.ControllerServiceCapability_RPC_Type" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*ControllerServiceCapability_RPC) Descriptor deprecated

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

Deprecated: Use ControllerServiceCapability_RPC.ProtoReflect.Descriptor instead.

func (*ControllerServiceCapability_RPC) GetType

func (*ControllerServiceCapability_RPC) ProtoMessage

func (*ControllerServiceCapability_RPC) ProtoMessage()

func (*ControllerServiceCapability_RPC) ProtoReflect

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
	// Currently the only way to consume a snapshot is to create
	// a volume from it. Therefore plugins supporting
	// CREATE_DELETE_SNAPSHOT MUST support creating volume from
	// snapshot.
	ControllerServiceCapability_RPC_CREATE_DELETE_SNAPSHOT ControllerServiceCapability_RPC_Type = 5
	ControllerServiceCapability_RPC_LIST_SNAPSHOTS         ControllerServiceCapability_RPC_Type = 6
	// Plugins supporting volume cloning at the storage level MAY
	// report this capability. The source volume MUST be managed by
	// the same plugin. Not all volume sources and parameters
	// combinations MAY work.
	ControllerServiceCapability_RPC_CLONE_VOLUME ControllerServiceCapability_RPC_Type = 7
	// Indicates the SP supports ControllerPublishVolume.readonly
	// field.
	ControllerServiceCapability_RPC_PUBLISH_READONLY ControllerServiceCapability_RPC_Type = 8
	// See VolumeExpansion for details.
	ControllerServiceCapability_RPC_EXPAND_VOLUME ControllerServiceCapability_RPC_Type = 9
	// Indicates the SP supports the
	// ListVolumesResponse.entry.published_nodes field
	ControllerServiceCapability_RPC_LIST_VOLUMES_PUBLISHED_NODES ControllerServiceCapability_RPC_Type = 10
	// Indicates that the Controller service can report volume
	// conditions.
	// An SP MAY implement `VolumeCondition` in only the Controller
	// Plugin, only the Node Plugin, or both.
	// If `VolumeCondition` is implemented in both the Controller and
	// Node Plugins, it SHALL report from different perspectives.
	// If for some reason Controller and Node Plugins report
	// misaligned volume conditions, CO SHALL assume the worst case
	// is the truth.
	// Note that, for alpha, `VolumeCondition` is intended be
	// informative for humans only, not for automation.
	ControllerServiceCapability_RPC_VOLUME_CONDITION ControllerServiceCapability_RPC_Type = 11
	// Indicates the SP supports the ControllerGetVolume RPC.
	// This enables COs to, for example, fetch per volume
	// condition after a volume is provisioned.
	ControllerServiceCapability_RPC_GET_VOLUME ControllerServiceCapability_RPC_Type = 12
)

func (ControllerServiceCapability_RPC_Type) Descriptor

func (ControllerServiceCapability_RPC_Type) Enum

func (ControllerServiceCapability_RPC_Type) EnumDescriptor deprecated

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

Deprecated: Use ControllerServiceCapability_RPC_Type.Descriptor instead.

func (ControllerServiceCapability_RPC_Type) Number

func (ControllerServiceCapability_RPC_Type) String

func (ControllerServiceCapability_RPC_Type) Type

type ControllerServiceCapability_Rpc

type ControllerServiceCapability_Rpc struct {
	// RPC that the controller supports.
	Rpc *ControllerServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,proto3,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,proto3" 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 `NodeGetInfo` 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,proto3" 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.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ControllerUnpublishVolumeRequest) Descriptor deprecated

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

Deprecated: Use ControllerUnpublishVolumeRequest.ProtoReflect.Descriptor instead.

func (*ControllerUnpublishVolumeRequest) GetNodeId

func (*ControllerUnpublishVolumeRequest) GetSecrets

func (x *ControllerUnpublishVolumeRequest) GetSecrets() map[string]string

func (*ControllerUnpublishVolumeRequest) GetVolumeId

func (x *ControllerUnpublishVolumeRequest) GetVolumeId() string

func (*ControllerUnpublishVolumeRequest) ProtoMessage

func (*ControllerUnpublishVolumeRequest) ProtoMessage()

func (*ControllerUnpublishVolumeRequest) ProtoReflect

func (*ControllerUnpublishVolumeRequest) Reset

func (*ControllerUnpublishVolumeRequest) String

type ControllerUnpublishVolumeResponse

type ControllerUnpublishVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*ControllerUnpublishVolumeResponse) Descriptor deprecated

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

Deprecated: Use ControllerUnpublishVolumeResponse.ProtoReflect.Descriptor instead.

func (*ControllerUnpublishVolumeResponse) ProtoMessage

func (*ControllerUnpublishVolumeResponse) ProtoMessage()

func (*ControllerUnpublishVolumeResponse) ProtoReflect

func (*ControllerUnpublishVolumeResponse) Reset

func (*ControllerUnpublishVolumeResponse) String

type CreateSnapshotRequest

type CreateSnapshotRequest struct {

	// The ID of the source volume to be snapshotted.
	// This field is REQUIRED.
	SourceVolumeId string `protobuf:"bytes,1,opt,name=source_volume_id,json=sourceVolumeId,proto3" json:"source_volume_id,omitempty"`
	// The suggested name for the snapshot. This field is REQUIRED for
	// idempotency.
	// Any Unicode string that conforms to the length limit is allowed
	// except those containing the following banned characters:
	// U+0000-U+0008, U+000B, U+000C, U+000E-U+001F, U+007F-U+009F.
	// (These are control characters other than commonly used whitespace.)
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Secrets required by plugin to complete snapshot creation request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// 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.
	// Use cases for opaque parameters:
	// - Specify a policy to automatically clean up the snapshot.
	// - Specify an expiration date for the snapshot.
	// - Specify whether the snapshot is readonly or read/write.
	// - Specify if the snapshot should be replicated to some place.
	// - Specify primary or secondary for replication systems that
	//   support snapshotting only on primary.
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*CreateSnapshotRequest) Descriptor deprecated

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

Deprecated: Use CreateSnapshotRequest.ProtoReflect.Descriptor instead.

func (*CreateSnapshotRequest) GetName

func (x *CreateSnapshotRequest) GetName() string

func (*CreateSnapshotRequest) GetParameters

func (x *CreateSnapshotRequest) GetParameters() map[string]string

func (*CreateSnapshotRequest) GetSecrets

func (x *CreateSnapshotRequest) GetSecrets() map[string]string

func (*CreateSnapshotRequest) GetSourceVolumeId

func (x *CreateSnapshotRequest) GetSourceVolumeId() string

func (*CreateSnapshotRequest) ProtoMessage

func (*CreateSnapshotRequest) ProtoMessage()

func (*CreateSnapshotRequest) ProtoReflect

func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message

func (*CreateSnapshotRequest) Reset

func (x *CreateSnapshotRequest) Reset()

func (*CreateSnapshotRequest) String

func (x *CreateSnapshotRequest) String() string

type CreateSnapshotResponse

type CreateSnapshotResponse struct {

	// Contains all attributes of the newly created snapshot that are
	// relevant to the CO along with information required by the Plugin
	// to uniquely identify the snapshot. This field is REQUIRED.
	Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateSnapshotResponse) Descriptor deprecated

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

Deprecated: Use CreateSnapshotResponse.ProtoReflect.Descriptor instead.

func (*CreateSnapshotResponse) GetSnapshot

func (x *CreateSnapshotResponse) GetSnapshot() *Snapshot

func (*CreateSnapshotResponse) ProtoMessage

func (*CreateSnapshotResponse) ProtoMessage()

func (*CreateSnapshotResponse) ProtoReflect

func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message

func (*CreateSnapshotResponse) Reset

func (x *CreateSnapshotResponse) Reset()

func (*CreateSnapshotResponse) String

func (x *CreateSnapshotResponse) String() 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.  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.
	//    In the case of error, the CO MUST handle the gRPC error codes
	//    per the recovery behavior defined in the "CreateVolume Errors"
	//    section below.
	//    The CO is responsible for cleaning up volumes it provisioned
	//    that it no longer needs. If the CO is uncertain whether a volume
	//    was provisioned or not when a `CreateVolume` call fails, the CO
	//    MAY call `CreateVolume` again, with the same name, to ensure the
	//    volume exists and to retrieve the volume's `volume_id` (unless
	//    otherwise prohibited by "CreateVolume Errors").
	// 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.
	// Any Unicode string that conforms to the length limit is allowed
	// except those containing the following banned characters:
	// U+0000-U+0008, U+000B, U+000C, U+000E-U+001F, U+007F-U+009F.
	// (These are control characters other than commonly used whitespace.)
	Name string `protobuf:"bytes,1,opt,name=name,proto3" 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. If
	// specified it MUST always be honored, even when creating volumes
	// from a source; which MAY force some backends to internally extend
	// the volume after creating it.
	CapacityRange *CapacityRange `protobuf:"bytes,2,opt,name=capacity_range,json=capacityRange,proto3" json:"capacity_range,omitempty"`
	// The capabilities that the provisioned volume MUST have. SP MUST
	// provision a volume that will satisfy ALL of the capabilities
	// specified in this list. Otherwise SP MUST return the appropriate
	// gRPC error code.
	// The Plugin MUST assume that the CO MAY use the provisioned volume
	// with ANY of the capabilities specified in this list.
	// For example, a CO MAY specify two volume capabilities: one with
	// access mode SINGLE_NODE_WRITER and another with access mode
	// MULTI_NODE_READER_ONLY. In this case, the SP MUST verify that the
	// provisioned volume can be used in either mode.
	// This also enables the CO to do early validation: If ANY of the
	// specified volume capabilities are not supported by the SP, the call
	// MUST return the appropriate gRPC error code.
	// This field is REQUIRED.
	VolumeCapabilities []*VolumeCapability `protobuf:"bytes,3,rep,name=volume_capabilities,json=volumeCapabilities,proto3" 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 `` /* 161-byte string literal not displayed */
	// Secrets required by plugin to complete volume creation request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// If specified, the new volume will be pre-populated with data from
	// this source. This field is OPTIONAL.
	VolumeContentSource *VolumeContentSource `protobuf:"bytes,6,opt,name=volume_content_source,json=volumeContentSource,proto3" json:"volume_content_source,omitempty"`
	// Specifies where (regions, zones, racks, etc.) the provisioned
	// volume MUST be accessible from.
	// An SP SHALL advertise the requirements for topological
	// accessibility information in documentation. COs SHALL only specify
	// topological accessibility information supported by the SP.
	// This field is OPTIONAL.
	// This field SHALL NOT be specified unless the SP has the
	// VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability.
	// If this field is not specified and the SP has the
	// VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability, the SP MAY
	// choose where the provisioned volume is accessible from.
	AccessibilityRequirements *TopologyRequirement `` /* 136-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*CreateVolumeRequest) Descriptor deprecated

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

Deprecated: Use CreateVolumeRequest.ProtoReflect.Descriptor instead.

func (*CreateVolumeRequest) GetAccessibilityRequirements

func (x *CreateVolumeRequest) GetAccessibilityRequirements() *TopologyRequirement

func (*CreateVolumeRequest) GetCapacityRange

func (x *CreateVolumeRequest) GetCapacityRange() *CapacityRange

func (*CreateVolumeRequest) GetName

func (x *CreateVolumeRequest) GetName() string

func (*CreateVolumeRequest) GetParameters

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

func (*CreateVolumeRequest) GetSecrets

func (x *CreateVolumeRequest) GetSecrets() map[string]string

func (*CreateVolumeRequest) GetVolumeCapabilities

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

func (*CreateVolumeRequest) GetVolumeContentSource

func (x *CreateVolumeRequest) GetVolumeContentSource() *VolumeContentSource

func (*CreateVolumeRequest) ProtoMessage

func (*CreateVolumeRequest) ProtoMessage()

func (*CreateVolumeRequest) ProtoReflect

func (x *CreateVolumeRequest) ProtoReflect() protoreflect.Message

func (*CreateVolumeRequest) Reset

func (x *CreateVolumeRequest) Reset()

func (*CreateVolumeRequest) String

func (x *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,proto3" json:"volume,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateVolumeResponse) Descriptor deprecated

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

Deprecated: Use CreateVolumeResponse.ProtoReflect.Descriptor instead.

func (*CreateVolumeResponse) GetVolume

func (x *CreateVolumeResponse) GetVolume() *Volume

func (*CreateVolumeResponse) ProtoMessage

func (*CreateVolumeResponse) ProtoMessage()

func (*CreateVolumeResponse) ProtoReflect

func (x *CreateVolumeResponse) ProtoReflect() protoreflect.Message

func (*CreateVolumeResponse) Reset

func (x *CreateVolumeResponse) Reset()

func (*CreateVolumeResponse) String

func (x *CreateVolumeResponse) String() string

type CsiLog

type CsiLog struct {
	Action string `json:"action"`
	Path   string `json:"path"`
	Agent  struct {
		Name string `json:"name"`
		Ip   string `json:"ip"`
		Port string `json:"port"`
	} `json:"agent"`
	Timing struct {
		Start    time.Time     `json:"start"`
		End      time.Time     `json:"end"`
		Duration time.Duration `json:"duration"`
	} `json:"timing"`
	Request  interface{} `json:"request"`
	Response interface{} `json:"response"`
}

func PcapToLogs

func PcapToLogs(fileName string) []CsiLog

type CsiRPC

type CsiRPC = struct {
	// contains filtered or unexported fields
}
type CsiRPC

stores information about a csi gRPC call stores type of csi RPC & appropriate request & response structs

type DeleteSnapshotRequest

type DeleteSnapshotRequest struct {

	// The ID of the snapshot to be deleted.
	// This field is REQUIRED.
	SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	// Secrets required by plugin to complete snapshot deletion request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DeleteSnapshotRequest) Descriptor deprecated

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

Deprecated: Use DeleteSnapshotRequest.ProtoReflect.Descriptor instead.

func (*DeleteSnapshotRequest) GetSecrets

func (x *DeleteSnapshotRequest) GetSecrets() map[string]string

func (*DeleteSnapshotRequest) GetSnapshotId

func (x *DeleteSnapshotRequest) GetSnapshotId() string

func (*DeleteSnapshotRequest) ProtoMessage

func (*DeleteSnapshotRequest) ProtoMessage()

func (*DeleteSnapshotRequest) ProtoReflect

func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message

func (*DeleteSnapshotRequest) Reset

func (x *DeleteSnapshotRequest) Reset()

func (*DeleteSnapshotRequest) String

func (x *DeleteSnapshotRequest) String() string

type DeleteSnapshotResponse

type DeleteSnapshotResponse struct {
	// contains filtered or unexported fields
}

func (*DeleteSnapshotResponse) Descriptor deprecated

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

Deprecated: Use DeleteSnapshotResponse.ProtoReflect.Descriptor instead.

func (*DeleteSnapshotResponse) ProtoMessage

func (*DeleteSnapshotResponse) ProtoMessage()

func (*DeleteSnapshotResponse) ProtoReflect

func (x *DeleteSnapshotResponse) ProtoReflect() protoreflect.Message

func (*DeleteSnapshotResponse) Reset

func (x *DeleteSnapshotResponse) Reset()

func (*DeleteSnapshotResponse) String

func (x *DeleteSnapshotResponse) 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,proto3" json:"volume_id,omitempty"`
	// Secrets required by plugin to complete volume deletion request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DeleteVolumeRequest) Descriptor deprecated

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

Deprecated: Use DeleteVolumeRequest.ProtoReflect.Descriptor instead.

func (*DeleteVolumeRequest) GetSecrets

func (x *DeleteVolumeRequest) GetSecrets() map[string]string

func (*DeleteVolumeRequest) GetVolumeId

func (x *DeleteVolumeRequest) GetVolumeId() string

func (*DeleteVolumeRequest) ProtoMessage

func (*DeleteVolumeRequest) ProtoMessage()

func (*DeleteVolumeRequest) ProtoReflect

func (x *DeleteVolumeRequest) ProtoReflect() protoreflect.Message

func (*DeleteVolumeRequest) Reset

func (x *DeleteVolumeRequest) Reset()

func (*DeleteVolumeRequest) String

func (x *DeleteVolumeRequest) String() string

type DeleteVolumeResponse

type DeleteVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*DeleteVolumeResponse) Descriptor deprecated

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

Deprecated: Use DeleteVolumeResponse.ProtoReflect.Descriptor instead.

func (*DeleteVolumeResponse) ProtoMessage

func (*DeleteVolumeResponse) ProtoMessage()

func (*DeleteVolumeResponse) ProtoReflect

func (x *DeleteVolumeResponse) ProtoReflect() protoreflect.Message

func (*DeleteVolumeResponse) Reset

func (x *DeleteVolumeResponse) Reset()

func (*DeleteVolumeResponse) String

func (x *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,proto3" 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 `` /* 161-byte string literal not displayed */
	// If specified, the Plugin SHALL report the capacity of the storage
	// that can be used to provision volumes that in the specified
	// `accessible_topology`. This is the same as the
	// `accessible_topology` the CO returns in a `CreateVolumeResponse`.
	// This field is OPTIONAL. This field SHALL NOT be set unless the
	// plugin advertises the VOLUME_ACCESSIBILITY_CONSTRAINTS capability.
	AccessibleTopology *Topology `protobuf:"bytes,3,opt,name=accessible_topology,json=accessibleTopology,proto3" json:"accessible_topology,omitempty"`
	// contains filtered or unexported fields
}

func (*GetCapacityRequest) Descriptor deprecated

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

Deprecated: Use GetCapacityRequest.ProtoReflect.Descriptor instead.

func (*GetCapacityRequest) GetAccessibleTopology

func (x *GetCapacityRequest) GetAccessibleTopology() *Topology

func (*GetCapacityRequest) GetParameters

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

func (*GetCapacityRequest) GetVolumeCapabilities

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

func (*GetCapacityRequest) ProtoMessage

func (*GetCapacityRequest) ProtoMessage()

func (*GetCapacityRequest) ProtoReflect

func (x *GetCapacityRequest) ProtoReflect() protoreflect.Message

func (*GetCapacityRequest) Reset

func (x *GetCapacityRequest) Reset()

func (*GetCapacityRequest) String

func (x *GetCapacityRequest) String() string

type GetCapacityResponse

type GetCapacityResponse struct {

	// The available capacity, in bytes, 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,proto3" json:"available_capacity,omitempty"`
	// contains filtered or unexported fields
}

func (*GetCapacityResponse) Descriptor deprecated

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

Deprecated: Use GetCapacityResponse.ProtoReflect.Descriptor instead.

func (*GetCapacityResponse) GetAvailableCapacity

func (x *GetCapacityResponse) GetAvailableCapacity() int64

func (*GetCapacityResponse) ProtoMessage

func (*GetCapacityResponse) ProtoMessage()

func (*GetCapacityResponse) ProtoReflect

func (x *GetCapacityResponse) ProtoReflect() protoreflect.Message

func (*GetCapacityResponse) Reset

func (x *GetCapacityResponse) Reset()

func (*GetCapacityResponse) String

func (x *GetCapacityResponse) String() string

type GetPluginCapabilitiesRequest

type GetPluginCapabilitiesRequest struct {
	// contains filtered or unexported fields
}

func (*GetPluginCapabilitiesRequest) Descriptor deprecated

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

Deprecated: Use GetPluginCapabilitiesRequest.ProtoReflect.Descriptor instead.

func (*GetPluginCapabilitiesRequest) ProtoMessage

func (*GetPluginCapabilitiesRequest) ProtoMessage()

func (*GetPluginCapabilitiesRequest) ProtoReflect

func (*GetPluginCapabilitiesRequest) Reset

func (x *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,1,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPluginCapabilitiesResponse) Descriptor deprecated

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

Deprecated: Use GetPluginCapabilitiesResponse.ProtoReflect.Descriptor instead.

func (*GetPluginCapabilitiesResponse) GetCapabilities

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

func (*GetPluginCapabilitiesResponse) ProtoMessage

func (*GetPluginCapabilitiesResponse) ProtoMessage()

func (*GetPluginCapabilitiesResponse) ProtoReflect

func (*GetPluginCapabilitiesResponse) Reset

func (x *GetPluginCapabilitiesResponse) Reset()

func (*GetPluginCapabilitiesResponse) String

type GetPluginInfoRequest

type GetPluginInfoRequest struct {
	// contains filtered or unexported fields
}

func (*GetPluginInfoRequest) Descriptor deprecated

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

Deprecated: Use GetPluginInfoRequest.ProtoReflect.Descriptor instead.

func (*GetPluginInfoRequest) ProtoMessage

func (*GetPluginInfoRequest) ProtoMessage()

func (*GetPluginInfoRequest) ProtoReflect

func (x *GetPluginInfoRequest) ProtoReflect() protoreflect.Message

func (*GetPluginInfoRequest) Reset

func (x *GetPluginInfoRequest) Reset()

func (*GetPluginInfoRequest) String

func (x *GetPluginInfoRequest) String() string

type GetPluginInfoResponse

type GetPluginInfoResponse struct {

	// The name MUST follow domain name notation format
	// (https://tools.ietf.org/html/rfc1035#section-2.3.1). 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 (-), dots (.), and
	// alphanumerics between. This field is REQUIRED.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" 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,proto3" json:"vendor_version,omitempty"`
	// This field is OPTIONAL. Values are opaque to the CO.
	Manifest map[string]string `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GetPluginInfoResponse) Descriptor deprecated

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

Deprecated: Use GetPluginInfoResponse.ProtoReflect.Descriptor instead.

func (*GetPluginInfoResponse) GetManifest

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

func (*GetPluginInfoResponse) GetName

func (x *GetPluginInfoResponse) GetName() string

func (*GetPluginInfoResponse) GetVendorVersion

func (x *GetPluginInfoResponse) GetVendorVersion() string

func (*GetPluginInfoResponse) ProtoMessage

func (*GetPluginInfoResponse) ProtoMessage()

func (*GetPluginInfoResponse) ProtoReflect

func (x *GetPluginInfoResponse) ProtoReflect() protoreflect.Message

func (*GetPluginInfoResponse) Reset

func (x *GetPluginInfoResponse) Reset()

func (*GetPluginInfoResponse) String

func (x *GetPluginInfoResponse) String() string

type ListSnapshotsRequest

type ListSnapshotsRequest 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 `ListSnapshots` 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,proto3" json:"max_entries,omitempty"`
	// A token to specify where to start paginating. Set this field to
	// `next_token` returned by a previous `ListSnapshots` 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,proto3" json:"starting_token,omitempty"`
	// Identity information for the source volume. This field is OPTIONAL.
	// It can be used to list snapshots by volume.
	SourceVolumeId string `protobuf:"bytes,3,opt,name=source_volume_id,json=sourceVolumeId,proto3" json:"source_volume_id,omitempty"`
	// Identity information for a specific snapshot. This field is
	// OPTIONAL. It can be used to list only a specific snapshot.
	// ListSnapshots will return with current snapshot information
	// and will not block if the snapshot is being processed after
	// it is cut.
	SnapshotId string `protobuf:"bytes,4,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	// Secrets required by plugin to complete ListSnapshot request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

List all snapshots on the storage system regardless of how they were created.

func (*ListSnapshotsRequest) Descriptor deprecated

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

Deprecated: Use ListSnapshotsRequest.ProtoReflect.Descriptor instead.

func (*ListSnapshotsRequest) GetMaxEntries

func (x *ListSnapshotsRequest) GetMaxEntries() int32

func (*ListSnapshotsRequest) GetSecrets

func (x *ListSnapshotsRequest) GetSecrets() map[string]string

func (*ListSnapshotsRequest) GetSnapshotId

func (x *ListSnapshotsRequest) GetSnapshotId() string

func (*ListSnapshotsRequest) GetSourceVolumeId

func (x *ListSnapshotsRequest) GetSourceVolumeId() string

func (*ListSnapshotsRequest) GetStartingToken

func (x *ListSnapshotsRequest) GetStartingToken() string

func (*ListSnapshotsRequest) ProtoMessage

func (*ListSnapshotsRequest) ProtoMessage()

func (*ListSnapshotsRequest) ProtoReflect

func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message

func (*ListSnapshotsRequest) Reset

func (x *ListSnapshotsRequest) Reset()

func (*ListSnapshotsRequest) String

func (x *ListSnapshotsRequest) String() string

type ListSnapshotsResponse

type ListSnapshotsResponse struct {
	Entries []*ListSnapshotsResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	// This token allows you to get the next page of entries for
	// `ListSnapshots` 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 `ListSnapshots` 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,proto3" json:"next_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSnapshotsResponse) Descriptor deprecated

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

Deprecated: Use ListSnapshotsResponse.ProtoReflect.Descriptor instead.

func (*ListSnapshotsResponse) GetEntries

func (*ListSnapshotsResponse) GetNextToken

func (x *ListSnapshotsResponse) GetNextToken() string

func (*ListSnapshotsResponse) ProtoMessage

func (*ListSnapshotsResponse) ProtoMessage()

func (*ListSnapshotsResponse) ProtoReflect

func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message

func (*ListSnapshotsResponse) Reset

func (x *ListSnapshotsResponse) Reset()

func (*ListSnapshotsResponse) String

func (x *ListSnapshotsResponse) String() string

type ListSnapshotsResponse_Entry

type ListSnapshotsResponse_Entry struct {
	Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSnapshotsResponse_Entry) Descriptor deprecated

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

Deprecated: Use ListSnapshotsResponse_Entry.ProtoReflect.Descriptor instead.

func (*ListSnapshotsResponse_Entry) GetSnapshot

func (x *ListSnapshotsResponse_Entry) GetSnapshot() *Snapshot

func (*ListSnapshotsResponse_Entry) ProtoMessage

func (*ListSnapshotsResponse_Entry) ProtoMessage()

func (*ListSnapshotsResponse_Entry) ProtoReflect

func (*ListSnapshotsResponse_Entry) Reset

func (x *ListSnapshotsResponse_Entry) Reset()

func (*ListSnapshotsResponse_Entry) String

func (x *ListSnapshotsResponse_Entry) String() string

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,proto3" 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,proto3" json:"starting_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListVolumesRequest) Descriptor deprecated

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

Deprecated: Use ListVolumesRequest.ProtoReflect.Descriptor instead.

func (*ListVolumesRequest) GetMaxEntries

func (x *ListVolumesRequest) GetMaxEntries() int32

func (*ListVolumesRequest) GetStartingToken

func (x *ListVolumesRequest) GetStartingToken() string

func (*ListVolumesRequest) ProtoMessage

func (*ListVolumesRequest) ProtoMessage()

func (*ListVolumesRequest) ProtoReflect

func (x *ListVolumesRequest) ProtoReflect() protoreflect.Message

func (*ListVolumesRequest) Reset

func (x *ListVolumesRequest) Reset()

func (*ListVolumesRequest) String

func (x *ListVolumesRequest) String() string

type ListVolumesResponse

type ListVolumesResponse struct {
	Entries []*ListVolumesResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" 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,proto3" json:"next_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListVolumesResponse) Descriptor deprecated

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

Deprecated: Use ListVolumesResponse.ProtoReflect.Descriptor instead.

func (*ListVolumesResponse) GetEntries

func (*ListVolumesResponse) GetNextToken

func (x *ListVolumesResponse) GetNextToken() string

func (*ListVolumesResponse) ProtoMessage

func (*ListVolumesResponse) ProtoMessage()

func (*ListVolumesResponse) ProtoReflect

func (x *ListVolumesResponse) ProtoReflect() protoreflect.Message

func (*ListVolumesResponse) Reset

func (x *ListVolumesResponse) Reset()

func (*ListVolumesResponse) String

func (x *ListVolumesResponse) String() string

type ListVolumesResponse_Entry

type ListVolumesResponse_Entry struct {

	// This field is REQUIRED
	Volume *Volume `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume,omitempty"`
	// This field is OPTIONAL. This field MUST be specified if the
	// LIST_VOLUMES_PUBLISHED_NODES controller capability is
	// supported.
	Status *ListVolumesResponse_VolumeStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*ListVolumesResponse_Entry) Descriptor deprecated

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

Deprecated: Use ListVolumesResponse_Entry.ProtoReflect.Descriptor instead.

func (*ListVolumesResponse_Entry) GetStatus

func (*ListVolumesResponse_Entry) GetVolume

func (x *ListVolumesResponse_Entry) GetVolume() *Volume

func (*ListVolumesResponse_Entry) ProtoMessage

func (*ListVolumesResponse_Entry) ProtoMessage()

func (*ListVolumesResponse_Entry) ProtoReflect

func (*ListVolumesResponse_Entry) Reset

func (x *ListVolumesResponse_Entry) Reset()

func (*ListVolumesResponse_Entry) String

func (x *ListVolumesResponse_Entry) String() string

type ListVolumesResponse_VolumeStatus

type ListVolumesResponse_VolumeStatus struct {

	// A list of all `node_id` of nodes that the volume in this entry
	// is controller published on.
	// This field is OPTIONAL. If it is not specified and the SP has
	// the LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO
	// MAY assume the volume is not controller published to any nodes.
	// If the field is not specified and the SP does not have the
	// LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO MUST
	// not interpret this field.
	// published_node_ids MAY include nodes not published to or
	// reported by the SP. The CO MUST be resilient to that.
	PublishedNodeIds []string `protobuf:"bytes,1,rep,name=published_node_ids,json=publishedNodeIds,proto3" json:"published_node_ids,omitempty"`
	// Information about the current condition of the volume.
	// This field is OPTIONAL.
	// This field MUST be specified if the
	// VOLUME_CONDITION controller capability is supported.
	VolumeCondition *VolumeCondition `protobuf:"bytes,2,opt,name=volume_condition,json=volumeCondition,proto3" json:"volume_condition,omitempty"`
	// contains filtered or unexported fields
}

func (*ListVolumesResponse_VolumeStatus) Descriptor deprecated

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

Deprecated: Use ListVolumesResponse_VolumeStatus.ProtoReflect.Descriptor instead.

func (*ListVolumesResponse_VolumeStatus) GetPublishedNodeIds

func (x *ListVolumesResponse_VolumeStatus) GetPublishedNodeIds() []string

func (*ListVolumesResponse_VolumeStatus) GetVolumeCondition

func (x *ListVolumesResponse_VolumeStatus) GetVolumeCondition() *VolumeCondition

func (*ListVolumesResponse_VolumeStatus) ProtoMessage

func (*ListVolumesResponse_VolumeStatus) ProtoMessage()

func (*ListVolumesResponse_VolumeStatus) ProtoReflect

func (*ListVolumesResponse_VolumeStatus) Reset

func (*ListVolumesResponse_VolumeStatus) String

type NodeExpandVolumeRequest

type NodeExpandVolumeRequest struct {

	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// The path on which volume is available. This field is REQUIRED.
	VolumePath string `protobuf:"bytes,2,opt,name=volume_path,json=volumePath,proto3" json:"volume_path,omitempty"`
	// This allows CO to specify the capacity requirements of the volume
	// after expansion. If capacity_range is omitted then a plugin MAY
	// inspect the file system of the volume to determine the maximum
	// capacity to which the volume can be expanded. In such cases a
	// plugin MAY expand the volume to its maximum capacity.
	// This field is OPTIONAL.
	CapacityRange *CapacityRange `protobuf:"bytes,3,opt,name=capacity_range,json=capacityRange,proto3" json:"capacity_range,omitempty"`
	// The path where the volume is staged, if the plugin has the
	// STAGE_UNSTAGE_VOLUME capability, otherwise empty.
	// If not empty, it MUST be an absolute path in the root
	// filesystem of the process serving this request.
	// This field is OPTIONAL.
	StagingTargetPath string `protobuf:"bytes,4,opt,name=staging_target_path,json=stagingTargetPath,proto3" json:"staging_target_path,omitempty"`
	// Volume capability describing how the CO intends to use this volume.
	// This allows SP to determine if volume is being used as a block
	// device or mounted file system. For example - if volume is being
	// used as a block device the SP MAY choose to skip expanding the
	// filesystem in NodeExpandVolume implementation but still perform
	// rest of the housekeeping needed for expanding the volume. If
	// volume_capability is omitted the SP MAY determine
	// access_type from given volume_path for the volume and perform
	// node expansion. This is an OPTIONAL field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability,proto3" json:"volume_capability,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeExpandVolumeRequest) Descriptor deprecated

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

Deprecated: Use NodeExpandVolumeRequest.ProtoReflect.Descriptor instead.

func (*NodeExpandVolumeRequest) GetCapacityRange

func (x *NodeExpandVolumeRequest) GetCapacityRange() *CapacityRange

func (*NodeExpandVolumeRequest) GetStagingTargetPath

func (x *NodeExpandVolumeRequest) GetStagingTargetPath() string

func (*NodeExpandVolumeRequest) GetVolumeCapability

func (x *NodeExpandVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*NodeExpandVolumeRequest) GetVolumeId

func (x *NodeExpandVolumeRequest) GetVolumeId() string

func (*NodeExpandVolumeRequest) GetVolumePath

func (x *NodeExpandVolumeRequest) GetVolumePath() string

func (*NodeExpandVolumeRequest) ProtoMessage

func (*NodeExpandVolumeRequest) ProtoMessage()

func (*NodeExpandVolumeRequest) ProtoReflect

func (x *NodeExpandVolumeRequest) ProtoReflect() protoreflect.Message

func (*NodeExpandVolumeRequest) Reset

func (x *NodeExpandVolumeRequest) Reset()

func (*NodeExpandVolumeRequest) String

func (x *NodeExpandVolumeRequest) String() string

type NodeExpandVolumeResponse

type NodeExpandVolumeResponse struct {

	// The capacity of the volume in bytes. This field is OPTIONAL.
	CapacityBytes int64 `protobuf:"varint,1,opt,name=capacity_bytes,json=capacityBytes,proto3" json:"capacity_bytes,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeExpandVolumeResponse) Descriptor deprecated

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

Deprecated: Use NodeExpandVolumeResponse.ProtoReflect.Descriptor instead.

func (*NodeExpandVolumeResponse) GetCapacityBytes

func (x *NodeExpandVolumeResponse) GetCapacityBytes() int64

func (*NodeExpandVolumeResponse) ProtoMessage

func (*NodeExpandVolumeResponse) ProtoMessage()

func (*NodeExpandVolumeResponse) ProtoReflect

func (x *NodeExpandVolumeResponse) ProtoReflect() protoreflect.Message

func (*NodeExpandVolumeResponse) Reset

func (x *NodeExpandVolumeResponse) Reset()

func (*NodeExpandVolumeResponse) String

func (x *NodeExpandVolumeResponse) String() string

type NodeGetCapabilitiesRequest

type NodeGetCapabilitiesRequest struct {
	// contains filtered or unexported fields
}

func (*NodeGetCapabilitiesRequest) Descriptor deprecated

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

Deprecated: Use NodeGetCapabilitiesRequest.ProtoReflect.Descriptor instead.

func (*NodeGetCapabilitiesRequest) ProtoMessage

func (*NodeGetCapabilitiesRequest) ProtoMessage()

func (*NodeGetCapabilitiesRequest) ProtoReflect

func (*NodeGetCapabilitiesRequest) Reset

func (x *NodeGetCapabilitiesRequest) Reset()

func (*NodeGetCapabilitiesRequest) String

func (x *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,proto3" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeGetCapabilitiesResponse) Descriptor deprecated

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

Deprecated: Use NodeGetCapabilitiesResponse.ProtoReflect.Descriptor instead.

func (*NodeGetCapabilitiesResponse) GetCapabilities

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

func (*NodeGetCapabilitiesResponse) ProtoMessage

func (*NodeGetCapabilitiesResponse) ProtoMessage()

func (*NodeGetCapabilitiesResponse) ProtoReflect

func (*NodeGetCapabilitiesResponse) Reset

func (x *NodeGetCapabilitiesResponse) Reset()

func (*NodeGetCapabilitiesResponse) String

func (x *NodeGetCapabilitiesResponse) String() string

type NodeGetInfoRequest

type NodeGetInfoRequest struct {
	// contains filtered or unexported fields
}

func (*NodeGetInfoRequest) Descriptor deprecated

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

Deprecated: Use NodeGetInfoRequest.ProtoReflect.Descriptor instead.

func (*NodeGetInfoRequest) ProtoMessage

func (*NodeGetInfoRequest) ProtoMessage()

func (*NodeGetInfoRequest) ProtoReflect

func (x *NodeGetInfoRequest) ProtoReflect() protoreflect.Message

func (*NodeGetInfoRequest) Reset

func (x *NodeGetInfoRequest) Reset()

func (*NodeGetInfoRequest) String

func (x *NodeGetInfoRequest) String() string

type NodeGetInfoResponse

type NodeGetInfoResponse struct {

	// The identifier of the node as understood by the SP.
	// This field is REQUIRED.
	// This field MUST contain enough information to uniquely identify
	// this specific node vs all other nodes supported by this plugin.
	// This field SHALL be used by the CO in subsequent calls, including
	// `ControllerPublishVolume`, to refer to this node.
	// The SP is NOT responsible for global uniqueness of node_id across
	// multiple SPs.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// Maximum number of volumes that controller can publish to the node.
	// If value is not set or zero CO SHALL decide how many volumes of
	// this type can be published by the controller to the node. The
	// plugin MUST NOT set negative values here.
	// This field is OPTIONAL.
	MaxVolumesPerNode int64 `protobuf:"varint,2,opt,name=max_volumes_per_node,json=maxVolumesPerNode,proto3" json:"max_volumes_per_node,omitempty"`
	// Specifies where (regions, zones, racks, etc.) the node is
	// accessible from.
	// A plugin that returns this field MUST also set the
	// VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability.
	// COs MAY use this information along with the topology information
	// returned in CreateVolumeResponse to ensure that a given volume is
	// accessible from a given node when scheduling workloads.
	// This field is OPTIONAL. If it is not specified, the CO MAY assume
	// the node is not subject to any topological constraint, and MAY
	// schedule workloads that reference any volume V, such that there are
	// no topological constraints declared for V.
	//
	// Example 1:
	//   accessible_topology =
	//     {"region": "R1", "zone": "Z2"}
	// Indicates the node exists within the "region" "R1" and the "zone"
	// "Z2".
	AccessibleTopology *Topology `protobuf:"bytes,3,opt,name=accessible_topology,json=accessibleTopology,proto3" json:"accessible_topology,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeGetInfoResponse) Descriptor deprecated

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

Deprecated: Use NodeGetInfoResponse.ProtoReflect.Descriptor instead.

func (*NodeGetInfoResponse) GetAccessibleTopology

func (x *NodeGetInfoResponse) GetAccessibleTopology() *Topology

func (*NodeGetInfoResponse) GetMaxVolumesPerNode

func (x *NodeGetInfoResponse) GetMaxVolumesPerNode() int64

func (*NodeGetInfoResponse) GetNodeId

func (x *NodeGetInfoResponse) GetNodeId() string

func (*NodeGetInfoResponse) ProtoMessage

func (*NodeGetInfoResponse) ProtoMessage()

func (*NodeGetInfoResponse) ProtoReflect

func (x *NodeGetInfoResponse) ProtoReflect() protoreflect.Message

func (*NodeGetInfoResponse) Reset

func (x *NodeGetInfoResponse) Reset()

func (*NodeGetInfoResponse) String

func (x *NodeGetInfoResponse) String() string

type NodeGetVolumeStatsRequest

type NodeGetVolumeStatsRequest struct {

	// The ID of the volume. This field is REQUIRED.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// It can be any valid path where volume was previously
	// staged or published.
	// It MUST be an absolute path in the root filesystem of
	// the process serving this request.
	// This is a REQUIRED field.
	VolumePath string `protobuf:"bytes,2,opt,name=volume_path,json=volumePath,proto3" json:"volume_path,omitempty"`
	// The path where the volume is staged, if the plugin has the
	// STAGE_UNSTAGE_VOLUME capability, otherwise empty.
	// If not empty, it MUST be an absolute path in the root
	// filesystem of the process serving this request.
	// This field is OPTIONAL.
	StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath,proto3" json:"staging_target_path,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeGetVolumeStatsRequest) Descriptor deprecated

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

Deprecated: Use NodeGetVolumeStatsRequest.ProtoReflect.Descriptor instead.

func (*NodeGetVolumeStatsRequest) GetStagingTargetPath

func (x *NodeGetVolumeStatsRequest) GetStagingTargetPath() string

func (*NodeGetVolumeStatsRequest) GetVolumeId

func (x *NodeGetVolumeStatsRequest) GetVolumeId() string

func (*NodeGetVolumeStatsRequest) GetVolumePath

func (x *NodeGetVolumeStatsRequest) GetVolumePath() string

func (*NodeGetVolumeStatsRequest) ProtoMessage

func (*NodeGetVolumeStatsRequest) ProtoMessage()

func (*NodeGetVolumeStatsRequest) ProtoReflect

func (*NodeGetVolumeStatsRequest) Reset

func (x *NodeGetVolumeStatsRequest) Reset()

func (*NodeGetVolumeStatsRequest) String

func (x *NodeGetVolumeStatsRequest) String() string

type NodeGetVolumeStatsResponse

type NodeGetVolumeStatsResponse struct {

	// This field is OPTIONAL.
	Usage []*VolumeUsage `protobuf:"bytes,1,rep,name=usage,proto3" json:"usage,omitempty"`
	// Information about the current condition of the volume.
	// This field is OPTIONAL.
	// This field MUST be specified if the VOLUME_CONDITION node
	// capability is supported.
	VolumeCondition *VolumeCondition `protobuf:"bytes,2,opt,name=volume_condition,json=volumeCondition,proto3" json:"volume_condition,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeGetVolumeStatsResponse) Descriptor deprecated

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

Deprecated: Use NodeGetVolumeStatsResponse.ProtoReflect.Descriptor instead.

func (*NodeGetVolumeStatsResponse) GetUsage

func (x *NodeGetVolumeStatsResponse) GetUsage() []*VolumeUsage

func (*NodeGetVolumeStatsResponse) GetVolumeCondition

func (x *NodeGetVolumeStatsResponse) GetVolumeCondition() *VolumeCondition

func (*NodeGetVolumeStatsResponse) ProtoMessage

func (*NodeGetVolumeStatsResponse) ProtoMessage()

func (*NodeGetVolumeStatsResponse) ProtoReflect

func (*NodeGetVolumeStatsResponse) Reset

func (x *NodeGetVolumeStatsResponse) Reset()

func (*NodeGetVolumeStatsResponse) String

func (x *NodeGetVolumeStatsResponse) 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,proto3" 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.
	PublishContext map[string]string `` /* 191-byte string literal not displayed */
	// The path to which the volume was staged 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,proto3" 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 parent directory of this path exists
	// and that the process serving the request has `read` and `write`
	// permissions to that parent directory.
	// For volumes with an access type of block, the SP SHALL place the
	// block device at target_path.
	// For volumes with an access type of mount, the SP SHALL place the
	// mounted directory at target_path.
	// Creation of target_path is the responsibility of the SP.
	// This is a REQUIRED field.
	TargetPath string `protobuf:"bytes,4,opt,name=target_path,json=targetPath,proto3" json:"target_path,omitempty"`
	// Volume capability describing how the CO intends to use this volume.
	// SP MUST ensure the CO can use the published volume as described.
	// Otherwise SP MUST return the appropriate gRPC error code.
	// This is a REQUIRED field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability,proto3" json:"volume_capability,omitempty"`
	// Indicates SP MUST publish the volume in readonly mode.
	// This field is REQUIRED.
	Readonly bool `protobuf:"varint,6,opt,name=readonly,proto3" json:"readonly,omitempty"`
	// Secrets required by plugin to complete node publish volume request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// Volume context as returned by SP in
	// CreateVolumeResponse.Volume.volume_context.
	// This field is OPTIONAL and MUST match the volume_context of the
	// volume identified by `volume_id`.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*NodePublishVolumeRequest) Descriptor deprecated

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

Deprecated: Use NodePublishVolumeRequest.ProtoReflect.Descriptor instead.

func (*NodePublishVolumeRequest) GetPublishContext

func (x *NodePublishVolumeRequest) GetPublishContext() map[string]string

func (*NodePublishVolumeRequest) GetReadonly

func (x *NodePublishVolumeRequest) GetReadonly() bool

func (*NodePublishVolumeRequest) GetSecrets

func (x *NodePublishVolumeRequest) GetSecrets() map[string]string

func (*NodePublishVolumeRequest) GetStagingTargetPath

func (x *NodePublishVolumeRequest) GetStagingTargetPath() string

func (*NodePublishVolumeRequest) GetTargetPath

func (x *NodePublishVolumeRequest) GetTargetPath() string

func (*NodePublishVolumeRequest) GetVolumeCapability

func (x *NodePublishVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*NodePublishVolumeRequest) GetVolumeContext

func (x *NodePublishVolumeRequest) GetVolumeContext() map[string]string

func (*NodePublishVolumeRequest) GetVolumeId

func (x *NodePublishVolumeRequest) GetVolumeId() string

func (*NodePublishVolumeRequest) ProtoMessage

func (*NodePublishVolumeRequest) ProtoMessage()

func (*NodePublishVolumeRequest) ProtoReflect

func (x *NodePublishVolumeRequest) ProtoReflect() protoreflect.Message

func (*NodePublishVolumeRequest) Reset

func (x *NodePublishVolumeRequest) Reset()

func (*NodePublishVolumeRequest) String

func (x *NodePublishVolumeRequest) String() string

type NodePublishVolumeResponse

type NodePublishVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*NodePublishVolumeResponse) Descriptor deprecated

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

Deprecated: Use NodePublishVolumeResponse.ProtoReflect.Descriptor instead.

func (*NodePublishVolumeResponse) ProtoMessage

func (*NodePublishVolumeResponse) ProtoMessage()

func (*NodePublishVolumeResponse) ProtoReflect

func (*NodePublishVolumeResponse) Reset

func (x *NodePublishVolumeResponse) Reset()

func (*NodePublishVolumeResponse) String

func (x *NodePublishVolumeResponse) String() string

type NodeServiceCapability

type NodeServiceCapability struct {

	// Types that are assignable to Type:
	//	*NodeServiceCapability_Rpc
	Type isNodeServiceCapability_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Specifies a capability of the node service.

func (*NodeServiceCapability) Descriptor deprecated

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

Deprecated: Use NodeServiceCapability.ProtoReflect.Descriptor instead.

func (*NodeServiceCapability) GetRpc

func (*NodeServiceCapability) GetType

func (m *NodeServiceCapability) GetType() isNodeServiceCapability_Type

func (*NodeServiceCapability) ProtoMessage

func (*NodeServiceCapability) ProtoMessage()

func (*NodeServiceCapability) ProtoReflect

func (x *NodeServiceCapability) ProtoReflect() protoreflect.Message

func (*NodeServiceCapability) Reset

func (x *NodeServiceCapability) Reset()

func (*NodeServiceCapability) String

func (x *NodeServiceCapability) String() string

type NodeServiceCapability_RPC

type NodeServiceCapability_RPC struct {
	Type NodeServiceCapability_RPC_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.NodeServiceCapability_RPC_Type" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeServiceCapability_RPC) Descriptor deprecated

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

Deprecated: Use NodeServiceCapability_RPC.ProtoReflect.Descriptor instead.

func (*NodeServiceCapability_RPC) GetType

func (*NodeServiceCapability_RPC) ProtoMessage

func (*NodeServiceCapability_RPC) ProtoMessage()

func (*NodeServiceCapability_RPC) ProtoReflect

func (*NodeServiceCapability_RPC) Reset

func (x *NodeServiceCapability_RPC) Reset()

func (*NodeServiceCapability_RPC) String

func (x *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
	// If Plugin implements GET_VOLUME_STATS capability
	// then it MUST implement NodeGetVolumeStats RPC
	// call for fetching volume statistics.
	NodeServiceCapability_RPC_GET_VOLUME_STATS NodeServiceCapability_RPC_Type = 2
	// See VolumeExpansion for details.
	NodeServiceCapability_RPC_EXPAND_VOLUME NodeServiceCapability_RPC_Type = 3
	// Indicates that the Node service can report volume conditions.
	// An SP MAY implement `VolumeCondition` in only the Node
	// Plugin, only the Controller Plugin, or both.
	// If `VolumeCondition` is implemented in both the Node and
	// Controller Plugins, it SHALL report from different
	// perspectives.
	// If for some reason Node and Controller Plugins report
	// misaligned volume conditions, CO SHALL assume the worst case
	// is the truth.
	// Note that, for alpha, `VolumeCondition` is intended to be
	// informative for humans only, not for automation.
	NodeServiceCapability_RPC_VOLUME_CONDITION NodeServiceCapability_RPC_Type = 4
)

func (NodeServiceCapability_RPC_Type) Descriptor

func (NodeServiceCapability_RPC_Type) Enum

func (NodeServiceCapability_RPC_Type) EnumDescriptor deprecated

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

Deprecated: Use NodeServiceCapability_RPC_Type.Descriptor instead.

func (NodeServiceCapability_RPC_Type) Number

func (NodeServiceCapability_RPC_Type) String

func (NodeServiceCapability_RPC_Type) Type

type NodeServiceCapability_Rpc

type NodeServiceCapability_Rpc struct {
	// RPC that the controller supports.
	Rpc *NodeServiceCapability_RPC `protobuf:"bytes,1,opt,name=rpc,proto3,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,proto3" 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.
	PublishContext map[string]string `` /* 191-byte string literal not displayed */
	// The path to which the volume MAY be staged. It MUST be an
	// absolute path in the root filesystem of the process serving this
	// request, and MUST be a directory. The CO SHALL ensure that there
	// is only one `staging_target_path` per volume. The CO SHALL ensure
	// that the path is directory and that the process serving the
	// request has `read` and `write` permission to that directory. The
	// CO SHALL be responsible for creating the directory if it does not
	// exist.
	// This is a REQUIRED field.
	StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath,proto3" json:"staging_target_path,omitempty"`
	// Volume capability describing how the CO intends to use this volume.
	// SP MUST ensure the CO can use the staged volume as described.
	// Otherwise SP MUST return the appropriate gRPC error code.
	// This is a REQUIRED field.
	VolumeCapability *VolumeCapability `protobuf:"bytes,4,opt,name=volume_capability,json=volumeCapability,proto3" json:"volume_capability,omitempty"`
	// Secrets required by plugin to complete node stage volume request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// Volume context as returned by SP in
	// CreateVolumeResponse.Volume.volume_context.
	// This field is OPTIONAL and MUST match the volume_context of the
	// volume identified by `volume_id`.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*NodeStageVolumeRequest) Descriptor deprecated

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

Deprecated: Use NodeStageVolumeRequest.ProtoReflect.Descriptor instead.

func (*NodeStageVolumeRequest) GetPublishContext

func (x *NodeStageVolumeRequest) GetPublishContext() map[string]string

func (*NodeStageVolumeRequest) GetSecrets

func (x *NodeStageVolumeRequest) GetSecrets() map[string]string

func (*NodeStageVolumeRequest) GetStagingTargetPath

func (x *NodeStageVolumeRequest) GetStagingTargetPath() string

func (*NodeStageVolumeRequest) GetVolumeCapability

func (x *NodeStageVolumeRequest) GetVolumeCapability() *VolumeCapability

func (*NodeStageVolumeRequest) GetVolumeContext

func (x *NodeStageVolumeRequest) GetVolumeContext() map[string]string

func (*NodeStageVolumeRequest) GetVolumeId

func (x *NodeStageVolumeRequest) GetVolumeId() string

func (*NodeStageVolumeRequest) ProtoMessage

func (*NodeStageVolumeRequest) ProtoMessage()

func (*NodeStageVolumeRequest) ProtoReflect

func (x *NodeStageVolumeRequest) ProtoReflect() protoreflect.Message

func (*NodeStageVolumeRequest) Reset

func (x *NodeStageVolumeRequest) Reset()

func (*NodeStageVolumeRequest) String

func (x *NodeStageVolumeRequest) String() string

type NodeStageVolumeResponse

type NodeStageVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*NodeStageVolumeResponse) Descriptor deprecated

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

Deprecated: Use NodeStageVolumeResponse.ProtoReflect.Descriptor instead.

func (*NodeStageVolumeResponse) ProtoMessage

func (*NodeStageVolumeResponse) ProtoMessage()

func (*NodeStageVolumeResponse) ProtoReflect

func (x *NodeStageVolumeResponse) ProtoReflect() protoreflect.Message

func (*NodeStageVolumeResponse) Reset

func (x *NodeStageVolumeResponse) Reset()

func (*NodeStageVolumeResponse) String

func (x *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,proto3" 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.
	// The SP MUST delete the file or directory it created at this path.
	// This is a REQUIRED field.
	TargetPath string `protobuf:"bytes,2,opt,name=target_path,json=targetPath,proto3" json:"target_path,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeUnpublishVolumeRequest) Descriptor deprecated

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

Deprecated: Use NodeUnpublishVolumeRequest.ProtoReflect.Descriptor instead.

func (*NodeUnpublishVolumeRequest) GetTargetPath

func (x *NodeUnpublishVolumeRequest) GetTargetPath() string

func (*NodeUnpublishVolumeRequest) GetVolumeId

func (x *NodeUnpublishVolumeRequest) GetVolumeId() string

func (*NodeUnpublishVolumeRequest) ProtoMessage

func (*NodeUnpublishVolumeRequest) ProtoMessage()

func (*NodeUnpublishVolumeRequest) ProtoReflect

func (*NodeUnpublishVolumeRequest) Reset

func (x *NodeUnpublishVolumeRequest) Reset()

func (*NodeUnpublishVolumeRequest) String

func (x *NodeUnpublishVolumeRequest) String() string

type NodeUnpublishVolumeResponse

type NodeUnpublishVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*NodeUnpublishVolumeResponse) Descriptor deprecated

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

Deprecated: Use NodeUnpublishVolumeResponse.ProtoReflect.Descriptor instead.

func (*NodeUnpublishVolumeResponse) ProtoMessage

func (*NodeUnpublishVolumeResponse) ProtoMessage()

func (*NodeUnpublishVolumeResponse) ProtoReflect

func (*NodeUnpublishVolumeResponse) Reset

func (x *NodeUnpublishVolumeResponse) Reset()

func (*NodeUnpublishVolumeResponse) String

func (x *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,proto3" json:"volume_id,omitempty"`
	// The path at which the volume was staged. 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,proto3" json:"staging_target_path,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeUnstageVolumeRequest) Descriptor deprecated

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

Deprecated: Use NodeUnstageVolumeRequest.ProtoReflect.Descriptor instead.

func (*NodeUnstageVolumeRequest) GetStagingTargetPath

func (x *NodeUnstageVolumeRequest) GetStagingTargetPath() string

func (*NodeUnstageVolumeRequest) GetVolumeId

func (x *NodeUnstageVolumeRequest) GetVolumeId() string

func (*NodeUnstageVolumeRequest) ProtoMessage

func (*NodeUnstageVolumeRequest) ProtoMessage()

func (*NodeUnstageVolumeRequest) ProtoReflect

func (x *NodeUnstageVolumeRequest) ProtoReflect() protoreflect.Message

func (*NodeUnstageVolumeRequest) Reset

func (x *NodeUnstageVolumeRequest) Reset()

func (*NodeUnstageVolumeRequest) String

func (x *NodeUnstageVolumeRequest) String() string

type NodeUnstageVolumeResponse

type NodeUnstageVolumeResponse struct {
	// contains filtered or unexported fields
}

func (*NodeUnstageVolumeResponse) Descriptor deprecated

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

Deprecated: Use NodeUnstageVolumeResponse.ProtoReflect.Descriptor instead.

func (*NodeUnstageVolumeResponse) ProtoMessage

func (*NodeUnstageVolumeResponse) ProtoMessage()

func (*NodeUnstageVolumeResponse) ProtoReflect

func (*NodeUnstageVolumeResponse) Reset

func (x *NodeUnstageVolumeResponse) Reset()

func (*NodeUnstageVolumeResponse) String

func (x *NodeUnstageVolumeResponse) String() string

type PluginCapability

type PluginCapability struct {

	// Types that are assignable to Type:
	//	*PluginCapability_Service_
	//	*PluginCapability_VolumeExpansion_
	Type isPluginCapability_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Specifies a capability of the plugin.

func (*PluginCapability) Descriptor deprecated

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

Deprecated: Use PluginCapability.ProtoReflect.Descriptor instead.

func (*PluginCapability) GetService

func (x *PluginCapability) GetService() *PluginCapability_Service

func (*PluginCapability) GetType

func (m *PluginCapability) GetType() isPluginCapability_Type

func (*PluginCapability) GetVolumeExpansion

func (x *PluginCapability) GetVolumeExpansion() *PluginCapability_VolumeExpansion

func (*PluginCapability) ProtoMessage

func (*PluginCapability) ProtoMessage()

func (*PluginCapability) ProtoReflect

func (x *PluginCapability) ProtoReflect() protoreflect.Message

func (*PluginCapability) Reset

func (x *PluginCapability) Reset()

func (*PluginCapability) String

func (x *PluginCapability) String() string

type PluginCapability_Service

type PluginCapability_Service struct {
	Type PluginCapability_Service_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.PluginCapability_Service_Type" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*PluginCapability_Service) Descriptor deprecated

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

Deprecated: Use PluginCapability_Service.ProtoReflect.Descriptor instead.

func (*PluginCapability_Service) GetType

func (*PluginCapability_Service) ProtoMessage

func (*PluginCapability_Service) ProtoMessage()

func (*PluginCapability_Service) ProtoReflect

func (x *PluginCapability_Service) ProtoReflect() protoreflect.Message

func (*PluginCapability_Service) Reset

func (x *PluginCapability_Service) Reset()

func (*PluginCapability_Service) String

func (x *PluginCapability_Service) String() string

type PluginCapability_Service_

type PluginCapability_Service_ struct {
	// Service that the plugin supports.
	Service *PluginCapability_Service `protobuf:"bytes,1,opt,name=service,proto3,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
	// VOLUME_ACCESSIBILITY_CONSTRAINTS indicates that the volumes for
	// this plugin MAY NOT be equally accessible by all nodes in the
	// cluster. The CO MUST use the topology information returned by
	// CreateVolumeRequest along with the topology information
	// returned by NodeGetInfo to ensure that a given volume is
	// accessible from a given node when scheduling workloads.
	PluginCapability_Service_VOLUME_ACCESSIBILITY_CONSTRAINTS PluginCapability_Service_Type = 2
)

func (PluginCapability_Service_Type) Descriptor

func (PluginCapability_Service_Type) Enum

func (PluginCapability_Service_Type) EnumDescriptor deprecated

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

Deprecated: Use PluginCapability_Service_Type.Descriptor instead.

func (PluginCapability_Service_Type) Number

func (PluginCapability_Service_Type) String

func (PluginCapability_Service_Type) Type

type PluginCapability_VolumeExpansion

type PluginCapability_VolumeExpansion struct {
	Type PluginCapability_VolumeExpansion_Type `protobuf:"varint,1,opt,name=type,proto3,enum=csi.v1.PluginCapability_VolumeExpansion_Type" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*PluginCapability_VolumeExpansion) Descriptor deprecated

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

Deprecated: Use PluginCapability_VolumeExpansion.ProtoReflect.Descriptor instead.

func (*PluginCapability_VolumeExpansion) GetType

func (*PluginCapability_VolumeExpansion) ProtoMessage

func (*PluginCapability_VolumeExpansion) ProtoMessage()

func (*PluginCapability_VolumeExpansion) ProtoReflect

func (*PluginCapability_VolumeExpansion) Reset

func (*PluginCapability_VolumeExpansion) String

type PluginCapability_VolumeExpansion_

type PluginCapability_VolumeExpansion_ struct {
	VolumeExpansion *PluginCapability_VolumeExpansion `protobuf:"bytes,2,opt,name=volume_expansion,json=volumeExpansion,proto3,oneof"`
}

type PluginCapability_VolumeExpansion_Type

type PluginCapability_VolumeExpansion_Type int32
const (
	PluginCapability_VolumeExpansion_UNKNOWN PluginCapability_VolumeExpansion_Type = 0
	// ONLINE indicates that volumes may be expanded when published to
	// a node. When a Plugin implements this capability it MUST
	// implement either the EXPAND_VOLUME controller capability or the
	// EXPAND_VOLUME node capability or both. When a plugin supports
	// ONLINE volume expansion and also has the EXPAND_VOLUME
	// controller capability then the plugin MUST support expansion of
	// volumes currently published and available on a node. When a
	// plugin supports ONLINE volume expansion and also has the
	// EXPAND_VOLUME node capability then the plugin MAY support
	// expansion of node-published volume via NodeExpandVolume.
	//
	// Example 1: Given a shared filesystem volume (e.g. GlusterFs),
	//   the Plugin may set the ONLINE volume expansion capability and
	//   implement ControllerExpandVolume but not NodeExpandVolume.
	//
	// Example 2: Given a block storage volume type (e.g. EBS), the
	//   Plugin may set the ONLINE volume expansion capability and
	//   implement both ControllerExpandVolume and NodeExpandVolume.
	//
	// Example 3: Given a Plugin that supports volume expansion only
	//   upon a node, the Plugin may set the ONLINE volume
	//   expansion capability and implement NodeExpandVolume but not
	//   ControllerExpandVolume.
	PluginCapability_VolumeExpansion_ONLINE PluginCapability_VolumeExpansion_Type = 1
	// OFFLINE indicates that volumes currently published and
	// available on a node SHALL NOT be expanded via
	// ControllerExpandVolume. When a plugin supports OFFLINE volume
	// expansion it MUST implement either the EXPAND_VOLUME controller
	// capability or both the EXPAND_VOLUME controller capability and
	// the EXPAND_VOLUME node capability.
	//
	// Example 1: Given a block storage volume type (e.g. Azure Disk)
	//   that does not support expansion of "node-attached" (i.e.
	//   controller-published) volumes, the Plugin may indicate
	//   OFFLINE volume expansion support and implement both
	//   ControllerExpandVolume and NodeExpandVolume.
	PluginCapability_VolumeExpansion_OFFLINE PluginCapability_VolumeExpansion_Type = 2
)

func (PluginCapability_VolumeExpansion_Type) Descriptor

func (PluginCapability_VolumeExpansion_Type) Enum

func (PluginCapability_VolumeExpansion_Type) EnumDescriptor deprecated

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

Deprecated: Use PluginCapability_VolumeExpansion_Type.Descriptor instead.

func (PluginCapability_VolumeExpansion_Type) Number

func (PluginCapability_VolumeExpansion_Type) String

func (PluginCapability_VolumeExpansion_Type) Type

type ProbeRequest

type ProbeRequest struct {
	// contains filtered or unexported fields
}

func (*ProbeRequest) Descriptor deprecated

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

Deprecated: Use ProbeRequest.ProtoReflect.Descriptor instead.

func (*ProbeRequest) ProtoMessage

func (*ProbeRequest) ProtoMessage()

func (*ProbeRequest) ProtoReflect

func (x *ProbeRequest) ProtoReflect() protoreflect.Message

func (*ProbeRequest) Reset

func (x *ProbeRequest) Reset()

func (*ProbeRequest) String

func (x *ProbeRequest) String() string

type ProbeResponse

type ProbeResponse struct {

	// Readiness allows a plugin to report its initialization status back
	// to the CO. Initialization for some plugins MAY be time consuming
	// and it is important for a CO to distinguish between the following
	// cases:
	//
	// 1) The plugin is in an unhealthy state and MAY need restarting. In
	//    this case a gRPC error code SHALL be returned.
	// 2) The plugin is still initializing, but is otherwise perfectly
	//    healthy. In this case a successful response SHALL be returned
	//    with a readiness value of `false`. Calls to the plugin's
	//    Controller and/or Node services MAY fail due to an incomplete
	//    initialization state.
	// 3) The plugin has finished initializing and is ready to service
	//    calls to its Controller and/or Node services. A successful
	//    response is returned with a readiness value of `true`.
	//
	// This field is OPTIONAL. If not present, the caller SHALL assume
	// that the plugin is in a ready state and is accepting calls to its
	// Controller and/or Node services (according to the plugin's reported
	// capabilities).
	Ready *wrappers.BoolValue `protobuf:"bytes,1,opt,name=ready,proto3" json:"ready,omitempty"`
	// contains filtered or unexported fields
}

func (*ProbeResponse) Descriptor deprecated

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

Deprecated: Use ProbeResponse.ProtoReflect.Descriptor instead.

func (*ProbeResponse) GetReady

func (x *ProbeResponse) GetReady() *wrappers.BoolValue

func (*ProbeResponse) ProtoMessage

func (*ProbeResponse) ProtoMessage()

func (*ProbeResponse) ProtoReflect

func (x *ProbeResponse) ProtoReflect() protoreflect.Message

func (*ProbeResponse) Reset

func (x *ProbeResponse) Reset()

func (*ProbeResponse) String

func (x *ProbeResponse) String() string

type Snapshot

type Snapshot struct {

	// This is the complete size of the snapshot in bytes. The purpose of
	// this field is to give CO guidance on how much space is needed to
	// create a volume from this snapshot. The size of the volume MUST NOT
	// be less than the size of the source snapshot. This field is
	// OPTIONAL. If this field is not set, it indicates that this size is
	// unknown. The value of this field MUST NOT be negative and a size of
	// zero means it is unspecified.
	SizeBytes int64 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	// The identifier for this snapshot, generated by the plugin.
	// This field is REQUIRED.
	// This field MUST contain enough information to uniquely identify
	// this specific snapshot vs all other snapshots supported by this
	// plugin.
	// This field SHALL be used by the CO in subsequent calls to refer to
	// this snapshot.
	// The SP is NOT responsible for global uniqueness of snapshot_id
	// across multiple SPs.
	SnapshotId string `protobuf:"bytes,2,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	// Identity information for the source volume. Note that creating a
	// snapshot from a snapshot is not supported here so the source has to
	// be a volume. This field is REQUIRED.
	SourceVolumeId string `protobuf:"bytes,3,opt,name=source_volume_id,json=sourceVolumeId,proto3" json:"source_volume_id,omitempty"`
	// Timestamp when the point-in-time snapshot is taken on the storage
	// system. This field is REQUIRED.
	CreationTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
	// Indicates if a snapshot is ready to use as a
	// `volume_content_source` in a `CreateVolumeRequest`. The default
	// value is false. This field is REQUIRED.
	ReadyToUse bool `protobuf:"varint,5,opt,name=ready_to_use,json=readyToUse,proto3" json:"ready_to_use,omitempty"`
	// contains filtered or unexported fields
}

Information about a specific snapshot.

func (*Snapshot) Descriptor deprecated

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

Deprecated: Use Snapshot.ProtoReflect.Descriptor instead.

func (*Snapshot) GetCreationTime

func (x *Snapshot) GetCreationTime() *timestamp.Timestamp

func (*Snapshot) GetReadyToUse

func (x *Snapshot) GetReadyToUse() bool

func (*Snapshot) GetSizeBytes

func (x *Snapshot) GetSizeBytes() int64

func (*Snapshot) GetSnapshotId

func (x *Snapshot) GetSnapshotId() string

func (*Snapshot) GetSourceVolumeId

func (x *Snapshot) GetSourceVolumeId() string

func (*Snapshot) ProtoMessage

func (*Snapshot) ProtoMessage()

func (*Snapshot) ProtoReflect

func (x *Snapshot) ProtoReflect() protoreflect.Message

func (*Snapshot) Reset

func (x *Snapshot) Reset()

func (*Snapshot) String

func (x *Snapshot) String() string

type Topology

type Topology struct {
	Segments map[string]string `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

Topology is a map of topological domains to topological segments. A topological domain is a sub-division of a cluster, like "region", "zone", "rack", etc. A topological segment is a specific instance of a topological domain, like "zone3", "rack3", etc. For example {"com.company/zone": "Z1", "com.company/rack": "R3"} Valid keys have two segments: an OPTIONAL prefix and name, separated by a slash (/), for example: "com.company.example/zone". The key name segment is REQUIRED. The prefix is OPTIONAL. The key name MUST be 63 characters or less, begin and end with an alphanumeric character ([a-z0-9A-Z]), and contain only dashes (-), underscores (_), dots (.), or alphanumerics in between, for example "zone". The key prefix MUST be 63 characters or less, begin and end with a lower-case alphanumeric character ([a-z0-9]), contain only dashes (-), dots (.), or lower-case alphanumerics in between, and follow domain name notation format (https://tools.ietf.org/html/rfc1035#section-2.3.1). The key prefix SHOULD include the plugin's host company name and/or the plugin name, to minimize the possibility of collisions with keys from other plugins. If a key prefix is specified, it MUST be identical across all topology keys returned by the SP (across all RPCs). Keys MUST be case-insensitive. Meaning the keys "Zone" and "zone" MUST not both exist. Each value (topological segment) MUST contain 1 or more strings. Each string MUST be 63 characters or less and begin and end with an alphanumeric character with '-', '_', '.', or alphanumerics in between.

func (*Topology) Descriptor deprecated

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

Deprecated: Use Topology.ProtoReflect.Descriptor instead.

func (*Topology) GetSegments

func (x *Topology) GetSegments() map[string]string

func (*Topology) ProtoMessage

func (*Topology) ProtoMessage()

func (*Topology) ProtoReflect

func (x *Topology) ProtoReflect() protoreflect.Message

func (*Topology) Reset

func (x *Topology) Reset()

func (*Topology) String

func (x *Topology) String() string

type TopologyRequirement

type TopologyRequirement struct {

	// Specifies the list of topologies the provisioned volume MUST be
	// accessible from.
	// This field is OPTIONAL. If TopologyRequirement is specified either
	// requisite or preferred or both MUST be specified.
	//
	// If requisite is specified, the provisioned volume MUST be
	// accessible from at least one of the requisite topologies.
	//
	// Given
	//   x = number of topologies provisioned volume is accessible from
	//   n = number of requisite topologies
	// The CO MUST ensure n >= 1. The SP MUST ensure x >= 1
	// If x==n, then the SP MUST make the provisioned volume available to
	// all topologies from the list of requisite topologies. If it is
	// unable to do so, the SP MUST fail the CreateVolume call.
	// For example, if a volume should be accessible from a single zone,
	// and requisite =
	//   {"region": "R1", "zone": "Z2"}
	// then the provisioned volume MUST be accessible from the "region"
	// "R1" and the "zone" "Z2".
	// Similarly, if a volume should be accessible from two zones, and
	// requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"}
	// then the provisioned volume MUST be accessible from the "region"
	// "R1" and both "zone" "Z2" and "zone" "Z3".
	//
	// If x<n, then the SP SHALL choose x unique topologies from the list
	// of requisite topologies. If it is unable to do so, the SP MUST fail
	// the CreateVolume call.
	// For example, if a volume should be accessible from a single zone,
	// and requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"}
	// then the SP may choose to make the provisioned volume available in
	// either the "zone" "Z2" or the "zone" "Z3" in the "region" "R1".
	// Similarly, if a volume should be accessible from two zones, and
	// requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"},
	//   {"region": "R1", "zone": "Z4"}
	// then the provisioned volume MUST be accessible from any combination
	// of two unique topologies: e.g. "R1/Z2" and "R1/Z3", or "R1/Z2" and
	//  "R1/Z4", or "R1/Z3" and "R1/Z4".
	//
	// If x>n, then the SP MUST make the provisioned volume available from
	// all topologies from the list of requisite topologies and MAY choose
	// the remaining x-n unique topologies from the list of all possible
	// topologies. If it is unable to do so, the SP MUST fail the
	// CreateVolume call.
	// For example, if a volume should be accessible from two zones, and
	// requisite =
	//   {"region": "R1", "zone": "Z2"}
	// then the provisioned volume MUST be accessible from the "region"
	// "R1" and the "zone" "Z2" and the SP may select the second zone
	// independently, e.g. "R1/Z4".
	Requisite []*Topology `protobuf:"bytes,1,rep,name=requisite,proto3" json:"requisite,omitempty"`
	// Specifies the list of topologies the CO would prefer the volume to
	// be provisioned in.
	//
	// This field is OPTIONAL. If TopologyRequirement is specified either
	// requisite or preferred or both MUST be specified.
	//
	// An SP MUST attempt to make the provisioned volume available using
	// the preferred topologies in order from first to last.
	//
	// If requisite is specified, all topologies in preferred list MUST
	// also be present in the list of requisite topologies.
	//
	// If the SP is unable to to make the provisioned volume available
	// from any of the preferred topologies, the SP MAY choose a topology
	// from the list of requisite topologies.
	// If the list of requisite topologies is not specified, then the SP
	// MAY choose from the list of all possible topologies.
	// If the list of requisite topologies is specified and the SP is
	// unable to to make the provisioned volume available from any of the
	// requisite topologies it MUST fail the CreateVolume call.
	//
	// Example 1:
	// Given a volume should be accessible from a single zone, and
	// requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"}
	// preferred =
	//   {"region": "R1", "zone": "Z3"}
	// then the the SP SHOULD first attempt to make the provisioned volume
	// available from "zone" "Z3" in the "region" "R1" and fall back to
	// "zone" "Z2" in the "region" "R1" if that is not possible.
	//
	// Example 2:
	// Given a volume should be accessible from a single zone, and
	// requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"},
	//   {"region": "R1", "zone": "Z4"},
	//   {"region": "R1", "zone": "Z5"}
	// preferred =
	//   {"region": "R1", "zone": "Z4"},
	//   {"region": "R1", "zone": "Z2"}
	// then the the SP SHOULD first attempt to make the provisioned volume
	// accessible from "zone" "Z4" in the "region" "R1" and fall back to
	// "zone" "Z2" in the "region" "R1" if that is not possible. If that
	// is not possible, the SP may choose between either the "zone"
	// "Z3" or "Z5" in the "region" "R1".
	//
	// Example 3:
	// Given a volume should be accessible from TWO zones (because an
	// opaque parameter in CreateVolumeRequest, for example, specifies
	// the volume is accessible from two zones, aka synchronously
	// replicated), and
	// requisite =
	//   {"region": "R1", "zone": "Z2"},
	//   {"region": "R1", "zone": "Z3"},
	//   {"region": "R1", "zone": "Z4"},
	//   {"region": "R1", "zone": "Z5"}
	// preferred =
	//   {"region": "R1", "zone": "Z5"},
	//   {"region": "R1", "zone": "Z3"}
	// then the the SP SHOULD first attempt to make the provisioned volume
	// accessible from the combination of the two "zones" "Z5" and "Z3" in
	// the "region" "R1". If that's not possible, it should fall back to
	// a combination of "Z5" and other possibilities from the list of
	// requisite. If that's not possible, it should fall back  to a
	// combination of "Z3" and other possibilities from the list of
	// requisite. If that's not possible, it should fall back  to a
	// combination of other possibilities from the list of requisite.
	Preferred []*Topology `protobuf:"bytes,2,rep,name=preferred,proto3" json:"preferred,omitempty"`
	// contains filtered or unexported fields
}

func (*TopologyRequirement) Descriptor deprecated

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

Deprecated: Use TopologyRequirement.ProtoReflect.Descriptor instead.

func (*TopologyRequirement) GetPreferred

func (x *TopologyRequirement) GetPreferred() []*Topology

func (*TopologyRequirement) GetRequisite

func (x *TopologyRequirement) GetRequisite() []*Topology

func (*TopologyRequirement) ProtoMessage

func (*TopologyRequirement) ProtoMessage()

func (*TopologyRequirement) ProtoReflect

func (x *TopologyRequirement) ProtoReflect() protoreflect.Message

func (*TopologyRequirement) Reset

func (x *TopologyRequirement) Reset()

func (*TopologyRequirement) String

func (x *TopologyRequirement) 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,proto3" json:"volume_id,omitempty"`
	// Volume context as returned by SP in
	// CreateVolumeResponse.Volume.volume_context.
	// This field is OPTIONAL and MUST match the volume_context of the
	// volume identified by `volume_id`.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// The capabilities that the CO wants to check for the volume. This
	// call SHALL return "confirmed" 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,proto3" json:"volume_capabilities,omitempty"`
	// See CreateVolumeRequest.parameters.
	// This field is OPTIONAL.
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// Secrets required by plugin to complete volume validation request.
	// This field is OPTIONAL. Refer to the `Secrets Requirements`
	// section on how to use this field.
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ValidateVolumeCapabilitiesRequest) Descriptor deprecated

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

Deprecated: Use ValidateVolumeCapabilitiesRequest.ProtoReflect.Descriptor instead.

func (*ValidateVolumeCapabilitiesRequest) GetParameters

func (x *ValidateVolumeCapabilitiesRequest) GetParameters() map[string]string

func (*ValidateVolumeCapabilitiesRequest) GetSecrets

func (x *ValidateVolumeCapabilitiesRequest) GetSecrets() map[string]string

func (*ValidateVolumeCapabilitiesRequest) GetVolumeCapabilities

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

func (*ValidateVolumeCapabilitiesRequest) GetVolumeContext

func (x *ValidateVolumeCapabilitiesRequest) GetVolumeContext() map[string]string

func (*ValidateVolumeCapabilitiesRequest) GetVolumeId

func (x *ValidateVolumeCapabilitiesRequest) GetVolumeId() string

func (*ValidateVolumeCapabilitiesRequest) ProtoMessage

func (*ValidateVolumeCapabilitiesRequest) ProtoMessage()

func (*ValidateVolumeCapabilitiesRequest) ProtoReflect

func (*ValidateVolumeCapabilitiesRequest) Reset

func (*ValidateVolumeCapabilitiesRequest) String

type ValidateVolumeCapabilitiesResponse

type ValidateVolumeCapabilitiesResponse struct {

	// Confirmed indicates to the CO the set of capabilities that the
	// plugin has validated. This field SHALL only be set to a non-empty
	// value for successful validation responses.
	// For successful validation responses, the CO SHALL compare the
	// fields of this message to the originally requested capabilities in
	// order to guard against an older plugin reporting "valid" for newer
	// capability fields that it does not yet understand.
	// This field is OPTIONAL.
	Confirmed *ValidateVolumeCapabilitiesResponse_Confirmed `protobuf:"bytes,1,opt,name=confirmed,proto3" json:"confirmed,omitempty"`
	// Message to the CO if `confirmed` above is empty. This field is
	// OPTIONAL.
	// An empty string is equal to an unspecified field value.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

func (*ValidateVolumeCapabilitiesResponse) Descriptor deprecated

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

Deprecated: Use ValidateVolumeCapabilitiesResponse.ProtoReflect.Descriptor instead.

func (*ValidateVolumeCapabilitiesResponse) GetConfirmed

func (*ValidateVolumeCapabilitiesResponse) GetMessage

func (*ValidateVolumeCapabilitiesResponse) ProtoMessage

func (*ValidateVolumeCapabilitiesResponse) ProtoMessage()

func (*ValidateVolumeCapabilitiesResponse) ProtoReflect

func (*ValidateVolumeCapabilitiesResponse) Reset

func (*ValidateVolumeCapabilitiesResponse) String

type ValidateVolumeCapabilitiesResponse_Confirmed

type ValidateVolumeCapabilitiesResponse_Confirmed struct {

	// Volume context validated by the plugin.
	// This field is OPTIONAL.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// Volume capabilities supported by the plugin.
	// This field is REQUIRED.
	VolumeCapabilities []*VolumeCapability `protobuf:"bytes,2,rep,name=volume_capabilities,json=volumeCapabilities,proto3" json:"volume_capabilities,omitempty"`
	// The volume creation parameters validated by the plugin.
	// This field is OPTIONAL.
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ValidateVolumeCapabilitiesResponse_Confirmed) Descriptor deprecated

Deprecated: Use ValidateVolumeCapabilitiesResponse_Confirmed.ProtoReflect.Descriptor instead.

func (*ValidateVolumeCapabilitiesResponse_Confirmed) GetParameters

func (*ValidateVolumeCapabilitiesResponse_Confirmed) GetVolumeCapabilities

func (x *ValidateVolumeCapabilitiesResponse_Confirmed) GetVolumeCapabilities() []*VolumeCapability

func (*ValidateVolumeCapabilitiesResponse_Confirmed) GetVolumeContext

func (*ValidateVolumeCapabilitiesResponse_Confirmed) ProtoMessage

func (*ValidateVolumeCapabilitiesResponse_Confirmed) ProtoReflect

func (*ValidateVolumeCapabilitiesResponse_Confirmed) Reset

func (*ValidateVolumeCapabilitiesResponse_Confirmed) 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,proto3" json:"capacity_bytes,omitempty"`
	// The identifier for this volume, generated by the plugin.
	// This field is REQUIRED.
	// This field MUST contain enough information to uniquely identify
	// this specific volume vs all other volumes supported by this plugin.
	// This field SHALL be used by the CO in subsequent calls to refer to
	// this volume.
	// The SP is NOT responsible for global uniqueness of volume_id across
	// multiple SPs.
	VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// Opaque static properties of the volume. SP MAY use this field to
	// ensure subsequent volume validation and publishing calls have
	// contextual information.
	// The contents of this field SHALL be opaque to a CO.
	// The contents of this field SHALL NOT be mutable.
	// The contents of this field SHALL be safe for the CO to cache.
	// The contents of this field SHOULD NOT contain sensitive
	// information.
	// The contents of this field SHOULD NOT be used for uniquely
	// identifying a volume. The `volume_id` alone SHOULD be sufficient to
	// identify the volume.
	// A volume uniquely identified by `volume_id` SHALL always report the
	// same volume_context.
	// This field is OPTIONAL and when present MUST be passed to volume
	// validation and publishing calls.
	VolumeContext map[string]string `` /* 188-byte string literal not displayed */
	// If specified, indicates that the volume is not empty and is
	// pre-populated with data from the specified source.
	// This field is OPTIONAL.
	ContentSource *VolumeContentSource `protobuf:"bytes,4,opt,name=content_source,json=contentSource,proto3" json:"content_source,omitempty"`
	// Specifies where (regions, zones, racks, etc.) the provisioned
	// volume is accessible from.
	// A plugin that returns this field MUST also set the
	// VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability.
	// An SP MAY specify multiple topologies to indicate the volume is
	// accessible from multiple locations.
	// COs MAY use this information along with the topology information
	// returned by NodeGetInfo to ensure that a given volume is accessible
	// from a given node when scheduling workloads.
	// This field is OPTIONAL. If it is not specified, the CO MAY assume
	// the volume is equally accessible from all nodes in the cluster and
	// MAY schedule workloads referencing the volume on any available
	// node.
	//
	// Example 1:
	//   accessible_topology = {"region": "R1", "zone": "Z2"}
	// Indicates a volume accessible only from the "region" "R1" and the
	// "zone" "Z2".
	//
	// Example 2:
	//   accessible_topology =
	//     {"region": "R1", "zone": "Z2"},
	//     {"region": "R1", "zone": "Z3"}
	// Indicates a volume accessible from both "zone" "Z2" and "zone" "Z3"
	// in the "region" "R1".
	AccessibleTopology []*Topology `protobuf:"bytes,5,rep,name=accessible_topology,json=accessibleTopology,proto3" json:"accessible_topology,omitempty"`
	// contains filtered or unexported fields
}

Information about a specific volume.

func (*Volume) Descriptor deprecated

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

Deprecated: Use Volume.ProtoReflect.Descriptor instead.

func (*Volume) GetAccessibleTopology

func (x *Volume) GetAccessibleTopology() []*Topology

func (*Volume) GetCapacityBytes

func (x *Volume) GetCapacityBytes() int64

func (*Volume) GetContentSource

func (x *Volume) GetContentSource() *VolumeContentSource

func (*Volume) GetVolumeContext

func (x *Volume) GetVolumeContext() map[string]string

func (*Volume) GetVolumeId

func (x *Volume) GetVolumeId() string

func (*Volume) ProtoMessage

func (*Volume) ProtoMessage()

func (*Volume) ProtoReflect

func (x *Volume) ProtoReflect() protoreflect.Message

func (*Volume) Reset

func (x *Volume) Reset()

func (*Volume) String

func (x *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 assignable 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,proto3" json:"access_mode,omitempty"`
	// contains filtered or unexported fields
}

Specify a capability of a volume.

func (*VolumeCapability) Descriptor deprecated

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

Deprecated: Use VolumeCapability.ProtoReflect.Descriptor instead.

func (*VolumeCapability) GetAccessMode

func (x *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) ProtoReflect

func (x *VolumeCapability) ProtoReflect() protoreflect.Message

func (*VolumeCapability) Reset

func (x *VolumeCapability) Reset()

func (*VolumeCapability) String

func (x *VolumeCapability) String() string

type VolumeCapability_AccessMode

type VolumeCapability_AccessMode struct {

	// This field is REQUIRED.
	Mode VolumeCapability_AccessMode_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=csi.v1.VolumeCapability_AccessMode_Mode" json:"mode,omitempty"`
	// contains filtered or unexported fields
}

Specify how a volume can be accessed.

func (*VolumeCapability_AccessMode) Descriptor deprecated

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

Deprecated: Use VolumeCapability_AccessMode.ProtoReflect.Descriptor instead.

func (*VolumeCapability_AccessMode) GetMode

func (*VolumeCapability_AccessMode) ProtoMessage

func (*VolumeCapability_AccessMode) ProtoMessage()

func (*VolumeCapability_AccessMode) ProtoReflect

func (*VolumeCapability_AccessMode) Reset

func (x *VolumeCapability_AccessMode) Reset()

func (*VolumeCapability_AccessMode) String

func (x *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) Descriptor

func (VolumeCapability_AccessMode_Mode) Enum

func (VolumeCapability_AccessMode_Mode) EnumDescriptor deprecated

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

Deprecated: Use VolumeCapability_AccessMode_Mode.Descriptor instead.

func (VolumeCapability_AccessMode_Mode) Number

func (VolumeCapability_AccessMode_Mode) String

func (VolumeCapability_AccessMode_Mode) Type

type VolumeCapability_Block

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

type VolumeCapability_BlockVolume

type VolumeCapability_BlockVolume struct {
	// contains filtered or unexported fields
}

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

func (*VolumeCapability_BlockVolume) Descriptor deprecated

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

Deprecated: Use VolumeCapability_BlockVolume.ProtoReflect.Descriptor instead.

func (*VolumeCapability_BlockVolume) ProtoMessage

func (*VolumeCapability_BlockVolume) ProtoMessage()

func (*VolumeCapability_BlockVolume) ProtoReflect

func (*VolumeCapability_BlockVolume) Reset

func (x *VolumeCapability_BlockVolume) Reset()

func (*VolumeCapability_BlockVolume) String

type VolumeCapability_Mount

type VolumeCapability_Mount struct {
	Mount *VolumeCapability_MountVolume `protobuf:"bytes,2,opt,name=mount,proto3,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,proto3" 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,proto3" json:"mount_flags,omitempty"`
	// contains filtered or unexported fields
}

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

func (*VolumeCapability_MountVolume) Descriptor deprecated

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

Deprecated: Use VolumeCapability_MountVolume.ProtoReflect.Descriptor instead.

func (*VolumeCapability_MountVolume) GetFsType

func (x *VolumeCapability_MountVolume) GetFsType() string

func (*VolumeCapability_MountVolume) GetMountFlags

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

func (*VolumeCapability_MountVolume) ProtoMessage

func (*VolumeCapability_MountVolume) ProtoMessage()

func (*VolumeCapability_MountVolume) ProtoReflect

func (*VolumeCapability_MountVolume) Reset

func (x *VolumeCapability_MountVolume) Reset()

func (*VolumeCapability_MountVolume) String

type VolumeCondition

type VolumeCondition struct {

	// Normal volumes are available for use and operating optimally.
	// An abnormal volume does not meet these criteria.
	// This field is REQUIRED.
	Abnormal bool `protobuf:"varint,1,opt,name=abnormal,proto3" json:"abnormal,omitempty"`
	// The message describing the condition of the volume.
	// This field is REQUIRED.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

VolumeCondition represents the current condition of a volume.

func (*VolumeCondition) Descriptor deprecated

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

Deprecated: Use VolumeCondition.ProtoReflect.Descriptor instead.

func (*VolumeCondition) GetAbnormal

func (x *VolumeCondition) GetAbnormal() bool

func (*VolumeCondition) GetMessage

func (x *VolumeCondition) GetMessage() string

func (*VolumeCondition) ProtoMessage

func (*VolumeCondition) ProtoMessage()

func (*VolumeCondition) ProtoReflect

func (x *VolumeCondition) ProtoReflect() protoreflect.Message

func (*VolumeCondition) Reset

func (x *VolumeCondition) Reset()

func (*VolumeCondition) String

func (x *VolumeCondition) String() string

type VolumeContentSource

type VolumeContentSource struct {

	// Types that are assignable to Type:
	//	*VolumeContentSource_Snapshot
	//	*VolumeContentSource_Volume
	Type isVolumeContentSource_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Specifies what source the volume will be created from. One of the type fields MUST be specified.

func (*VolumeContentSource) Descriptor deprecated

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

Deprecated: Use VolumeContentSource.ProtoReflect.Descriptor instead.

func (*VolumeContentSource) GetSnapshot

func (*VolumeContentSource) GetType

func (m *VolumeContentSource) GetType() isVolumeContentSource_Type

func (*VolumeContentSource) GetVolume

func (*VolumeContentSource) ProtoMessage

func (*VolumeContentSource) ProtoMessage()

func (*VolumeContentSource) ProtoReflect

func (x *VolumeContentSource) ProtoReflect() protoreflect.Message

func (*VolumeContentSource) Reset

func (x *VolumeContentSource) Reset()

func (*VolumeContentSource) String

func (x *VolumeContentSource) String() string

type VolumeContentSource_Snapshot

type VolumeContentSource_Snapshot struct {
	Snapshot *VolumeContentSource_SnapshotSource `protobuf:"bytes,1,opt,name=snapshot,proto3,oneof"`
}

type VolumeContentSource_SnapshotSource

type VolumeContentSource_SnapshotSource struct {

	// Contains identity information for the existing source snapshot.
	// This field is REQUIRED. Plugin is REQUIRED to support creating
	// volume from snapshot if it supports the capability
	// CREATE_DELETE_SNAPSHOT.
	SnapshotId string `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	// contains filtered or unexported fields
}

func (*VolumeContentSource_SnapshotSource) Descriptor deprecated

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

Deprecated: Use VolumeContentSource_SnapshotSource.ProtoReflect.Descriptor instead.

func (*VolumeContentSource_SnapshotSource) GetSnapshotId

func (x *VolumeContentSource_SnapshotSource) GetSnapshotId() string

func (*VolumeContentSource_SnapshotSource) ProtoMessage

func (*VolumeContentSource_SnapshotSource) ProtoMessage()

func (*VolumeContentSource_SnapshotSource) ProtoReflect

func (*VolumeContentSource_SnapshotSource) Reset

func (*VolumeContentSource_SnapshotSource) String

type VolumeContentSource_Volume

type VolumeContentSource_Volume struct {
	Volume *VolumeContentSource_VolumeSource `protobuf:"bytes,2,opt,name=volume,proto3,oneof"`
}

type VolumeContentSource_VolumeSource

type VolumeContentSource_VolumeSource struct {

	// Contains identity information for the existing source volume.
	// This field is REQUIRED. Plugins reporting CLONE_VOLUME
	// capability MUST support creating a volume from another volume.
	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	// contains filtered or unexported fields
}

func (*VolumeContentSource_VolumeSource) Descriptor deprecated

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

Deprecated: Use VolumeContentSource_VolumeSource.ProtoReflect.Descriptor instead.

func (*VolumeContentSource_VolumeSource) GetVolumeId

func (x *VolumeContentSource_VolumeSource) GetVolumeId() string

func (*VolumeContentSource_VolumeSource) ProtoMessage

func (*VolumeContentSource_VolumeSource) ProtoMessage()

func (*VolumeContentSource_VolumeSource) ProtoReflect

func (*VolumeContentSource_VolumeSource) Reset

func (*VolumeContentSource_VolumeSource) String

type VolumeUsage

type VolumeUsage struct {

	// The available capacity in specified Unit. This field is OPTIONAL.
	// The value of this field MUST NOT be negative.
	Available int64 `protobuf:"varint,1,opt,name=available,proto3" json:"available,omitempty"`
	// The total capacity in specified Unit. This field is REQUIRED.
	// The value of this field MUST NOT be negative.
	Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	// The used capacity in specified Unit. This field is OPTIONAL.
	// The value of this field MUST NOT be negative.
	Used int64 `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"`
	// Units by which values are measured. This field is REQUIRED.
	Unit VolumeUsage_Unit `protobuf:"varint,4,opt,name=unit,proto3,enum=csi.v1.VolumeUsage_Unit" json:"unit,omitempty"`
	// contains filtered or unexported fields
}

func (*VolumeUsage) Descriptor deprecated

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

Deprecated: Use VolumeUsage.ProtoReflect.Descriptor instead.

func (*VolumeUsage) GetAvailable

func (x *VolumeUsage) GetAvailable() int64

func (*VolumeUsage) GetTotal

func (x *VolumeUsage) GetTotal() int64

func (*VolumeUsage) GetUnit

func (x *VolumeUsage) GetUnit() VolumeUsage_Unit

func (*VolumeUsage) GetUsed

func (x *VolumeUsage) GetUsed() int64

func (*VolumeUsage) ProtoMessage

func (*VolumeUsage) ProtoMessage()

func (*VolumeUsage) ProtoReflect

func (x *VolumeUsage) ProtoReflect() protoreflect.Message

func (*VolumeUsage) Reset

func (x *VolumeUsage) Reset()

func (*VolumeUsage) String

func (x *VolumeUsage) String() string

type VolumeUsage_Unit

type VolumeUsage_Unit int32
const (
	VolumeUsage_UNKNOWN VolumeUsage_Unit = 0
	VolumeUsage_BYTES   VolumeUsage_Unit = 1
	VolumeUsage_INODES  VolumeUsage_Unit = 2
)

func (VolumeUsage_Unit) Descriptor

func (VolumeUsage_Unit) Enum

func (VolumeUsage_Unit) EnumDescriptor deprecated

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

Deprecated: Use VolumeUsage_Unit.Descriptor instead.

func (VolumeUsage_Unit) Number

func (VolumeUsage_Unit) String

func (x VolumeUsage_Unit) String() string

func (VolumeUsage_Unit) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL