v1alpha1

package
Version: v0.0.0-...-e686534 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2018 License: Apache-2.0 Imports: 3 Imported by: 30

Documentation

Overview

Package v1alpha1 provides alpha API for CSI API objects.

Index

Constants

View Source
const (
	// GroupName is the group name use in this package
	GroupName string = "csi.storage.k8s.io"

	// CsiDriverResourcePlural is the plural name of the CSIDriver resource
	CsiDriverResourcePlural string = "csidrivers"

	// CsiNodeInfoResourcePlural is the plural name of the CSINode resource
	CsiNodeInfoResourcePlural string = "csinodeinfos"
)

Variables

View Source
var (
	// SchemeBuilder collects schemas to build.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is used by generated client to add this scheme to the generated client.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CSIDriver

type CSIDriver struct {
	metav1.TypeMeta `json:",inline"`

	// Standard object metadata.
	// metadata.Name indicates the name of the CSI driver that this object
	// refers to; it MUST be the same name returned by the CSI GetPluginName()
	// call for that driver.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the CSI Driver.
	Spec CSIDriverSpec `json:"spec"`
}

CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. CSIDriver objects are non-namespaced.

func (*CSIDriver) DeepCopy

func (in *CSIDriver) DeepCopy() *CSIDriver

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriver.

func (*CSIDriver) DeepCopyInto

func (in *CSIDriver) DeepCopyInto(out *CSIDriver)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CSIDriver) DeepCopyObject

func (in *CSIDriver) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CSIDriverInfo

type CSIDriverInfo struct {
	// driver is the name of the CSI driver that this object refers to.
	// This MUST be the same name returned by the CSI GetPluginName() call for
	// that driver.
	Driver string `json:"driver"`

	// nodeID of the node from the driver point of view.
	// This field enables Kubernetes to communicate with storage systems that do
	// not share the same nomenclature for nodes. For example, Kubernetes may
	// refer to a given node as "node1", but the storage system may refer to
	// the same node as "nodeA". When Kubernetes issues a command to the storage
	// system to attach a volume to a specific node, it can use this field to
	// refer to the node name using the ID that the storage system will
	// understand, e.g. "nodeA" instead of "node1".
	NodeID string `json:"nodeID"`

	// topologyKeys is the list of keys supported by the driver.
	// When a driver is initialized on a cluster, it provides a set of topology
	// keys that it understands (e.g. "company.com/zone", "company.com/region").
	// When a driver is initialized on a node it provides the same topology keys
	// along with values that kubelet applies to the coresponding node API
	// object as labels.
	// When Kubernetes does topology aware provisioning, it can use this list to
	// determine which labels it should retrieve from the node object and pass
	// back to the driver.
	TopologyKeys []string `json:"topologyKeys"`
}

CSIDriverInfo contains information about one CSI driver installed on a node.

func (*CSIDriverInfo) DeepCopy

func (in *CSIDriverInfo) DeepCopy() *CSIDriverInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriverInfo.

func (*CSIDriverInfo) DeepCopyInto

func (in *CSIDriverInfo) DeepCopyInto(out *CSIDriverInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CSIDriverList

type CSIDriverList struct {
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of CSIDriver
	Items []CSIDriver `json:"items"`
}

CSIDriverList is a collection of CSIDriver objects.

func (*CSIDriverList) DeepCopy

func (in *CSIDriverList) DeepCopy() *CSIDriverList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriverList.

func (*CSIDriverList) DeepCopyInto

func (in *CSIDriverList) DeepCopyInto(out *CSIDriverList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CSIDriverList) DeepCopyObject

func (in *CSIDriverList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CSIDriverSpec

type CSIDriverSpec struct {
	// attachRequired indicates this CSI volume driver requires an attach
	// operation (because it implements the CSI ControllerPublishVolume()
	// method), and that Kubernetes should call attach and wait for any attach
	// operation to complete before proceeding to mounting.
	// If value is not specified, default is false -- meaning attach will not be
	// called.
	// +optional
	AttachRequired *bool `json:"attachRequired,omitempty"`

	// If specified, podInfoRequiredOnMount indicates this CSI volume driver
	// requires additional pod information (like podName, podUID, etc.) during
	// mount operations.
	// If value is not specified, pod information will not be passed on mount.
	// If value is set to a valid version, Kubelet will pass pod information as
	// VolumeAttributes in the CSI NodePublishVolume() calls.
	// Supported versions:
	// Version "v1" will pass the following ValueAttributes
	// "csi.storage.k8s.io/pod.name": pod.Name
	// "csi.storage.k8s.io/pod.namespace": pod.Namespace
	// "csi.storage.k8s.io/pod.uid": string(pod.UID)
	// +optional
	PodInfoOnMountVersion *string `json:"podInfoOnMountVersion,omitempty"`
}

CSIDriverSpec is the specification of a CSIDriver.

func (*CSIDriverSpec) DeepCopy

func (in *CSIDriverSpec) DeepCopy() *CSIDriverSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriverSpec.

func (*CSIDriverSpec) DeepCopyInto

func (in *CSIDriverSpec) DeepCopyInto(out *CSIDriverSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CSINodeInfo

type CSINodeInfo struct {
	metav1.TypeMeta `json:",inline"`

	// metadata.name must be the Kubernetes node name.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// List of CSI drivers running on the node and their properties.
	// +patchMergeKey=driver
	// +patchStrategy=merge
	CSIDrivers []CSIDriverInfo `json:"csiDrivers" patchStrategy:"merge" patchMergeKey:"driver"`
}

CSINodeInfo holds information about all CSI drivers installed on a node.

func (*CSINodeInfo) DeepCopy

func (in *CSINodeInfo) DeepCopy() *CSINodeInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSINodeInfo.

func (*CSINodeInfo) DeepCopyInto

func (in *CSINodeInfo) DeepCopyInto(out *CSINodeInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CSINodeInfo) DeepCopyObject

func (in *CSINodeInfo) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CSINodeInfoList

type CSINodeInfoList struct {
	metav1.TypeMeta `json:",inline"`

	// Standard list metadata
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of CSINodeInfo
	Items []CSINodeInfo `json:"items"`
}

CSINodeInfoList is a collection of CSINodeInfo objects.

func (*CSINodeInfoList) DeepCopy

func (in *CSINodeInfoList) DeepCopy() *CSINodeInfoList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSINodeInfoList.

func (*CSINodeInfoList) DeepCopyInto

func (in *CSINodeInfoList) DeepCopyInto(out *CSINodeInfoList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CSINodeInfoList) DeepCopyObject

func (in *CSINodeInfoList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Jump to

Keyboard shortcuts

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