Class StorageClass

  • All Implemented Interfaces:
    com.marcnuri.yakc.model.Model

    public class StorageClass
    extends java.lang.Object
    implements com.marcnuri.yakc.model.Model
    StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.


    StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  StorageClass.Builder  
    • Constructor Summary

      Constructors 
      Constructor Description
      StorageClass()  
      StorageClass​(java.lang.Boolean allowVolumeExpansion, java.util.List<TopologySelectorTerm> allowedTopologies, java.lang.String apiVersion, java.lang.String kind, ObjectMeta metadata, java.util.List<java.lang.String> mountOptions, java.util.Map<java.lang.String,​java.lang.String> parameters, @NonNull java.lang.String provisioner, java.lang.String reclaimPolicy, java.lang.String volumeBindingMode)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static StorageClass.Builder builder()  
      protected boolean canEqual​(java.lang.Object other)  
      boolean equals​(java.lang.Object o)  
      java.util.List<TopologySelectorTerm> getAllowedTopologies()
      allowedTopologies restrict the node topologies where volumes can be dynamically provisioned.
      java.lang.Boolean getAllowVolumeExpansion()
      allowVolumeExpansion shows whether the storage class allow volume expand.
      java.lang.String getApiVersion()
      APIVersion defines the versioned schema of this representation of an object.
      java.lang.String getKind()
      Kind is a string value representing the REST resource this object represents.
      ObjectMeta getMetadata()  
      java.util.List<java.lang.String> getMountOptions()
      mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class.
      java.util.Map<java.lang.String,​java.lang.String> getParameters()
      parameters holds the parameters for the provisioner that should create volumes of this storage class.
      @NonNull java.lang.String getProvisioner()
      provisioner indicates the type of the provisioner.
      java.lang.String getReclaimPolicy()
      reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class.
      java.lang.String getVolumeBindingMode()
      volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound.
      int hashCode()  
      void setAllowedTopologies​(java.util.List<TopologySelectorTerm> allowedTopologies)
      allowedTopologies restrict the node topologies where volumes can be dynamically provisioned.
      void setAllowVolumeExpansion​(java.lang.Boolean allowVolumeExpansion)
      allowVolumeExpansion shows whether the storage class allow volume expand.
      void setApiVersion​(java.lang.String apiVersion)
      APIVersion defines the versioned schema of this representation of an object.
      void setKind​(java.lang.String kind)
      Kind is a string value representing the REST resource this object represents.
      void setMetadata​(ObjectMeta metadata)  
      void setMountOptions​(java.util.List<java.lang.String> mountOptions)
      mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class.
      void setParameters​(java.util.Map<java.lang.String,​java.lang.String> parameters)
      parameters holds the parameters for the provisioner that should create volumes of this storage class.
      void setProvisioner​(@NonNull java.lang.String provisioner)
      provisioner indicates the type of the provisioner.
      void setReclaimPolicy​(java.lang.String reclaimPolicy)
      reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class.
      void setVolumeBindingMode​(java.lang.String volumeBindingMode)
      volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound.
      StorageClass.Builder toBuilder()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • StorageClass

        public StorageClass​(java.lang.Boolean allowVolumeExpansion,
                            java.util.List<TopologySelectorTerm> allowedTopologies,
                            java.lang.String apiVersion,
                            java.lang.String kind,
                            ObjectMeta metadata,
                            java.util.List<java.lang.String> mountOptions,
                            java.util.Map<java.lang.String,​java.lang.String> parameters,
                            @NonNull
                            @NonNull java.lang.String provisioner,
                            java.lang.String reclaimPolicy,
                            java.lang.String volumeBindingMode)
      • StorageClass

        public StorageClass()
    • Method Detail

      • getAllowVolumeExpansion

        public java.lang.Boolean getAllowVolumeExpansion()
        allowVolumeExpansion shows whether the storage class allow volume expand.
      • getAllowedTopologies

        public java.util.List<TopologySelectorTerm> getAllowedTopologies()
        allowedTopologies restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.
      • getApiVersion

        public java.lang.String getApiVersion()
        APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
      • getKind

        public java.lang.String getKind()
        Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
      • getMountOptions

        public java.util.List<java.lang.String> getMountOptions()
        mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class. e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
      • getParameters

        public java.util.Map<java.lang.String,​java.lang.String> getParameters()
        parameters holds the parameters for the provisioner that should create volumes of this storage class.
      • getProvisioner

        @NonNull
        public @NonNull java.lang.String getProvisioner()
        provisioner indicates the type of the provisioner.
      • getReclaimPolicy

        public java.lang.String getReclaimPolicy()
        reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class. Defaults to Delete.
      • getVolumeBindingMode

        public java.lang.String getVolumeBindingMode()
        volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.
      • setAllowVolumeExpansion

        public void setAllowVolumeExpansion​(java.lang.Boolean allowVolumeExpansion)
        allowVolumeExpansion shows whether the storage class allow volume expand.
      • setAllowedTopologies

        public void setAllowedTopologies​(java.util.List<TopologySelectorTerm> allowedTopologies)
        allowedTopologies restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.
      • setApiVersion

        public void setApiVersion​(java.lang.String apiVersion)
        APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
      • setKind

        public void setKind​(java.lang.String kind)
        Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
      • setMetadata

        public void setMetadata​(ObjectMeta metadata)
      • setMountOptions

        public void setMountOptions​(java.util.List<java.lang.String> mountOptions)
        mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class. e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.
      • setParameters

        public void setParameters​(java.util.Map<java.lang.String,​java.lang.String> parameters)
        parameters holds the parameters for the provisioner that should create volumes of this storage class.
      • setProvisioner

        public void setProvisioner​(@NonNull
                                   @NonNull java.lang.String provisioner)
        provisioner indicates the type of the provisioner.
      • setReclaimPolicy

        public void setReclaimPolicy​(java.lang.String reclaimPolicy)
        reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class. Defaults to Delete.
      • setVolumeBindingMode

        public void setVolumeBindingMode​(java.lang.String volumeBindingMode)
        volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.
      • 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