Documentation
¶
Overview ¶
Package v1alpha1 provides alpha API for CSI API objects.
Index ¶
Constants ¶
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 ¶
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 )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIDriver.
func (*CSIDriver) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CSIDriver) DeepCopyObject ¶
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.