Class 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
    • 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

      • 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.
      • 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 class java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object