Class CSINodeDriver
- java.lang.Object
-
- com.marcnuri.yakc.model.io.k8s.api.storage.v1beta1.CSINodeDriver
-
- All Implemented Interfaces:
com.marcnuri.yakc.model.Model
public class CSINodeDriver extends java.lang.Object implements com.marcnuri.yakc.model.Model
CSINodeDriver holds information about the specification of one CSI driver installed on a node
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CSINodeDriver.Builder
-
Constructor Summary
Constructors Constructor Description CSINodeDriver()
CSINodeDriver(VolumeNodeResources allocatable, @NonNull java.lang.String name, @NonNull java.lang.String nodeID, java.util.List<java.lang.String> topologyKeys)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CSINodeDriver.Builder
builder()
protected boolean
canEqual(java.lang.Object other)
boolean
equals(java.lang.Object o)
VolumeNodeResources
getAllocatable()
@NonNull java.lang.String
getName()
This is the name of the CSI driver that this object refers to.@NonNull java.lang.String
getNodeID()
nodeID of the node from the driver point of view.java.util.List<java.lang.String>
getTopologyKeys()
topologyKeys is the list of keys supported by the driver.int
hashCode()
void
setAllocatable(VolumeNodeResources allocatable)
void
setName(@NonNull java.lang.String name)
This is the name of the CSI driver that this object refers to.void
setNodeID(@NonNull java.lang.String nodeID)
nodeID of the node from the driver point of view.void
setTopologyKeys(java.util.List<java.lang.String> topologyKeys)
topologyKeys is the list of keys supported by the driver.CSINodeDriver.Builder
toBuilder()
java.lang.String
toString()
-
-
-
Constructor Detail
-
CSINodeDriver
public CSINodeDriver(VolumeNodeResources allocatable, @NonNull @NonNull java.lang.String name, @NonNull @NonNull java.lang.String nodeID, java.util.List<java.lang.String> topologyKeys)
-
CSINodeDriver
public CSINodeDriver()
-
-
Method Detail
-
builder
public static CSINodeDriver.Builder builder()
-
toBuilder
public CSINodeDriver.Builder toBuilder()
-
getAllocatable
public VolumeNodeResources getAllocatable()
-
getName
@NonNull public @NonNull java.lang.String getName()
This 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.
-
getNodeID
@NonNull public @NonNull java.lang.String getNodeID()
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". This field is required.
-
getTopologyKeys
public java.util.List<java.lang.String> getTopologyKeys()
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. Kubelet will expose these topology keys as labels on its own node object. 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. It is possible for different nodes to use different topology keys. This can be empty if driver does not support topology.
-
setAllocatable
public void setAllocatable(VolumeNodeResources allocatable)
-
setName
public void setName(@NonNull @NonNull java.lang.String name)
This 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.
-
setNodeID
public void setNodeID(@NonNull @NonNull java.lang.String nodeID)
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". This field is required.
-
setTopologyKeys
public void setTopologyKeys(java.util.List<java.lang.String> topologyKeys)
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. Kubelet will expose these topology keys as labels on its own node object. 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. It is possible for different nodes to use different topology keys. This can be empty if driver does not support topology.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
canEqual
protected boolean canEqual(java.lang.Object other)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-