Class CsiNodeDriver.Jsii$Proxy

  • All Implemented Interfaces:
    CsiNodeDriver, software.amazon.jsii.JsiiSerializable
    Enclosing interface:
    CsiNodeDriver

    @Stability(Stable)
    @Internal
    public static final class CsiNodeDriver.Jsii$Proxy
    extends software.amazon.jsii.JsiiObject
    implements CsiNodeDriver
    An implementation for CsiNodeDriver
    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getName

        public final String getName()
        Description copied from interface: CsiNodeDriver
        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.

        Specified by:
        getName in interface CsiNodeDriver
      • getNodeId

        public final String getNodeId()
        Description copied from interface: CsiNodeDriver
        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.

        Specified by:
        getNodeId in interface CsiNodeDriver
      • getTopologyKeys

        public final List<String> getTopologyKeys()
        Description copied from interface: CsiNodeDriver
        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.

        Specified by:
        getTopologyKeys in interface CsiNodeDriver
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object