Class Generated.PersistentVolumeClaimSpec

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable, Generated.PersistentVolumeClaimSpecOrBuilder
    Enclosing class:
    Generated

    public static final class Generated.PersistentVolumeClaimSpec
    extends com.google.protobuf.GeneratedMessageV3
    implements Generated.PersistentVolumeClaimSpecOrBuilder
     PersistentVolumeClaimSpec describes the common attributes of storage devices
     and allows a Source for provider-specific attributes
     
    Protobuf type k8s.io.api.core.v1.PersistentVolumeClaimSpec
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getAccessModesList

        public com.google.protobuf.ProtocolStringList getAccessModesList()
         accessModes contains the desired access modes the volume should have.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
         +optional
         +listType=atomic
         
        repeated string accessModes = 1;
        Specified by:
        getAccessModesList in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        A list containing the accessModes.
      • getAccessModesCount

        public int getAccessModesCount()
         accessModes contains the desired access modes the volume should have.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
         +optional
         +listType=atomic
         
        repeated string accessModes = 1;
        Specified by:
        getAccessModesCount in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The count of accessModes.
      • getAccessModes

        public String getAccessModes​(int index)
         accessModes contains the desired access modes the volume should have.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
         +optional
         +listType=atomic
         
        repeated string accessModes = 1;
        Specified by:
        getAccessModes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The accessModes at the given index.
      • getAccessModesBytes

        public com.google.protobuf.ByteString getAccessModesBytes​(int index)
         accessModes contains the desired access modes the volume should have.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
         +optional
         +listType=atomic
         
        repeated string accessModes = 1;
        Specified by:
        getAccessModesBytes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the accessModes at the given index.
      • hasSelector

        public boolean hasSelector()
         selector is a label query over volumes to consider for binding.
         +optional
         
        optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
        Specified by:
        hasSelector in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the selector field is set.
      • hasResources

        public boolean hasResources()
         resources represents the minimum resources the volume should have.
         If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
         that are lower than previous value but must still be higher than capacity recorded in the
         status field of the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
         +optional
         
        optional .k8s.io.api.core.v1.VolumeResourceRequirements resources = 2;
        Specified by:
        hasResources in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the resources field is set.
      • getResources

        public Generated.VolumeResourceRequirements getResources()
         resources represents the minimum resources the volume should have.
         If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
         that are lower than previous value but must still be higher than capacity recorded in the
         status field of the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
         +optional
         
        optional .k8s.io.api.core.v1.VolumeResourceRequirements resources = 2;
        Specified by:
        getResources in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The resources.
      • getResourcesOrBuilder

        public Generated.VolumeResourceRequirementsOrBuilder getResourcesOrBuilder()
         resources represents the minimum resources the volume should have.
         If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
         that are lower than previous value but must still be higher than capacity recorded in the
         status field of the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
         +optional
         
        optional .k8s.io.api.core.v1.VolumeResourceRequirements resources = 2;
        Specified by:
        getResourcesOrBuilder in interface Generated.PersistentVolumeClaimSpecOrBuilder
      • hasVolumeName

        public boolean hasVolumeName()
         volumeName is the binding reference to the PersistentVolume backing this claim.
         +optional
         
        optional string volumeName = 3;
        Specified by:
        hasVolumeName in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the volumeName field is set.
      • getVolumeNameBytes

        public com.google.protobuf.ByteString getVolumeNameBytes()
         volumeName is the binding reference to the PersistentVolume backing this claim.
         +optional
         
        optional string volumeName = 3;
        Specified by:
        getVolumeNameBytes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The bytes for volumeName.
      • hasStorageClassName

        public boolean hasStorageClassName()
         storageClassName is the name of the StorageClass required by the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
         +optional
         
        optional string storageClassName = 5;
        Specified by:
        hasStorageClassName in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the storageClassName field is set.
      • getStorageClassName

        public String getStorageClassName()
         storageClassName is the name of the StorageClass required by the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
         +optional
         
        optional string storageClassName = 5;
        Specified by:
        getStorageClassName in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The storageClassName.
      • getStorageClassNameBytes

        public com.google.protobuf.ByteString getStorageClassNameBytes()
         storageClassName is the name of the StorageClass required by the claim.
         More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
         +optional
         
        optional string storageClassName = 5;
        Specified by:
        getStorageClassNameBytes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The bytes for storageClassName.
      • hasVolumeMode

        public boolean hasVolumeMode()
         volumeMode defines what type of volume is required by the claim.
         Value of Filesystem is implied when not included in claim spec.
         +optional
         
        optional string volumeMode = 6;
        Specified by:
        hasVolumeMode in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the volumeMode field is set.
      • getVolumeMode

        public String getVolumeMode()
         volumeMode defines what type of volume is required by the claim.
         Value of Filesystem is implied when not included in claim spec.
         +optional
         
        optional string volumeMode = 6;
        Specified by:
        getVolumeMode in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The volumeMode.
      • getVolumeModeBytes

        public com.google.protobuf.ByteString getVolumeModeBytes()
         volumeMode defines what type of volume is required by the claim.
         Value of Filesystem is implied when not included in claim spec.
         +optional
         
        optional string volumeMode = 6;
        Specified by:
        getVolumeModeBytes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The bytes for volumeMode.
      • hasDataSource

        public boolean hasDataSource()
         dataSource field can be used to specify either:
         * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
         * An existing PVC (PersistentVolumeClaim)
         If the provisioner or an external controller can support the specified data source,
         it will create a new volume based on the contents of the specified data source.
         When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
         and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
         If the namespace is specified, then dataSourceRef will not be copied to dataSource.
         +optional
         
        optional .k8s.io.api.core.v1.TypedLocalObjectReference dataSource = 7;
        Specified by:
        hasDataSource in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the dataSource field is set.
      • getDataSource

        public Generated.TypedLocalObjectReference getDataSource()
         dataSource field can be used to specify either:
         * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
         * An existing PVC (PersistentVolumeClaim)
         If the provisioner or an external controller can support the specified data source,
         it will create a new volume based on the contents of the specified data source.
         When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
         and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
         If the namespace is specified, then dataSourceRef will not be copied to dataSource.
         +optional
         
        optional .k8s.io.api.core.v1.TypedLocalObjectReference dataSource = 7;
        Specified by:
        getDataSource in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The dataSource.
      • getDataSourceOrBuilder

        public Generated.TypedLocalObjectReferenceOrBuilder getDataSourceOrBuilder()
         dataSource field can be used to specify either:
         * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
         * An existing PVC (PersistentVolumeClaim)
         If the provisioner or an external controller can support the specified data source,
         it will create a new volume based on the contents of the specified data source.
         When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
         and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
         If the namespace is specified, then dataSourceRef will not be copied to dataSource.
         +optional
         
        optional .k8s.io.api.core.v1.TypedLocalObjectReference dataSource = 7;
        Specified by:
        getDataSourceOrBuilder in interface Generated.PersistentVolumeClaimSpecOrBuilder
      • hasDataSourceRef

        public boolean hasDataSourceRef()
         dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
         volume is desired. This may be any object from a non-empty API group (non
         core object) or a PersistentVolumeClaim object.
         When this field is specified, volume binding will only succeed if the type of
         the specified object matches some installed volume populator or dynamic
         provisioner.
         This field will replace the functionality of the dataSource field and as such
         if both fields are non-empty, they must have the same value. For backwards
         compatibility, when namespace isn't specified in dataSourceRef,
         both fields (dataSource and dataSourceRef) will be set to the same
         value automatically if one of them is empty and the other is non-empty.
         When namespace is specified in dataSourceRef,
         dataSource isn't set to the same value and must be empty.
         There are three important differences between dataSource and dataSourceRef:
         * While dataSource only allows two specific types of objects, dataSourceRef
           allows any non-core object, as well as PersistentVolumeClaim objects.
         * While dataSource ignores disallowed values (dropping them), dataSourceRef
           preserves all values, and generates an error if a disallowed value is
           specified.
         * While dataSource only allows local objects, dataSourceRef allows objects
           in any namespaces.
         (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
         (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
         +optional
         
        optional .k8s.io.api.core.v1.TypedObjectReference dataSourceRef = 8;
        Specified by:
        hasDataSourceRef in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the dataSourceRef field is set.
      • getDataSourceRef

        public Generated.TypedObjectReference getDataSourceRef()
         dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
         volume is desired. This may be any object from a non-empty API group (non
         core object) or a PersistentVolumeClaim object.
         When this field is specified, volume binding will only succeed if the type of
         the specified object matches some installed volume populator or dynamic
         provisioner.
         This field will replace the functionality of the dataSource field and as such
         if both fields are non-empty, they must have the same value. For backwards
         compatibility, when namespace isn't specified in dataSourceRef,
         both fields (dataSource and dataSourceRef) will be set to the same
         value automatically if one of them is empty and the other is non-empty.
         When namespace is specified in dataSourceRef,
         dataSource isn't set to the same value and must be empty.
         There are three important differences between dataSource and dataSourceRef:
         * While dataSource only allows two specific types of objects, dataSourceRef
           allows any non-core object, as well as PersistentVolumeClaim objects.
         * While dataSource ignores disallowed values (dropping them), dataSourceRef
           preserves all values, and generates an error if a disallowed value is
           specified.
         * While dataSource only allows local objects, dataSourceRef allows objects
           in any namespaces.
         (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
         (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
         +optional
         
        optional .k8s.io.api.core.v1.TypedObjectReference dataSourceRef = 8;
        Specified by:
        getDataSourceRef in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The dataSourceRef.
      • getDataSourceRefOrBuilder

        public Generated.TypedObjectReferenceOrBuilder getDataSourceRefOrBuilder()
         dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
         volume is desired. This may be any object from a non-empty API group (non
         core object) or a PersistentVolumeClaim object.
         When this field is specified, volume binding will only succeed if the type of
         the specified object matches some installed volume populator or dynamic
         provisioner.
         This field will replace the functionality of the dataSource field and as such
         if both fields are non-empty, they must have the same value. For backwards
         compatibility, when namespace isn't specified in dataSourceRef,
         both fields (dataSource and dataSourceRef) will be set to the same
         value automatically if one of them is empty and the other is non-empty.
         When namespace is specified in dataSourceRef,
         dataSource isn't set to the same value and must be empty.
         There are three important differences between dataSource and dataSourceRef:
         * While dataSource only allows two specific types of objects, dataSourceRef
           allows any non-core object, as well as PersistentVolumeClaim objects.
         * While dataSource ignores disallowed values (dropping them), dataSourceRef
           preserves all values, and generates an error if a disallowed value is
           specified.
         * While dataSource only allows local objects, dataSourceRef allows objects
           in any namespaces.
         (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
         (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
         +optional
         
        optional .k8s.io.api.core.v1.TypedObjectReference dataSourceRef = 8;
        Specified by:
        getDataSourceRefOrBuilder in interface Generated.PersistentVolumeClaimSpecOrBuilder
      • hasVolumeAttributesClassName

        public boolean hasVolumeAttributesClassName()
         volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
         If specified, the CSI driver will create or update the volume with the attributes defined
         in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
         it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
         will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
         If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
         will be set by the persistentvolume controller if it exists.
         If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
         set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
         exists.
         More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
         (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
         +featureGate=VolumeAttributesClass
         +optional
         
        optional string volumeAttributesClassName = 9;
        Specified by:
        hasVolumeAttributesClassName in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        Whether the volumeAttributesClassName field is set.
      • getVolumeAttributesClassName

        public String getVolumeAttributesClassName()
         volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
         If specified, the CSI driver will create or update the volume with the attributes defined
         in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
         it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
         will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
         If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
         will be set by the persistentvolume controller if it exists.
         If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
         set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
         exists.
         More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
         (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
         +featureGate=VolumeAttributesClass
         +optional
         
        optional string volumeAttributesClassName = 9;
        Specified by:
        getVolumeAttributesClassName in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The volumeAttributesClassName.
      • getVolumeAttributesClassNameBytes

        public com.google.protobuf.ByteString getVolumeAttributesClassNameBytes()
         volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
         If specified, the CSI driver will create or update the volume with the attributes defined
         in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
         it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
         will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
         If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
         will be set by the persistentvolume controller if it exists.
         If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
         set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
         exists.
         More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
         (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
         +featureGate=VolumeAttributesClass
         +optional
         
        optional string volumeAttributesClassName = 9;
        Specified by:
        getVolumeAttributesClassNameBytes in interface Generated.PersistentVolumeClaimSpecOrBuilder
        Returns:
        The bytes for volumeAttributesClassName.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Generated.PersistentVolumeClaimSpec parseFrom​(ByteBuffer data,
                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Generated.PersistentVolumeClaimSpec parseFrom​(com.google.protobuf.ByteString data)
                                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Generated.PersistentVolumeClaimSpec parseFrom​(com.google.protobuf.ByteString data,
                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Generated.PersistentVolumeClaimSpec parseFrom​(byte[] data)
                                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Generated.PersistentVolumeClaimSpec parseFrom​(byte[] data,
                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                             throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public Generated.PersistentVolumeClaimSpec.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Generated.PersistentVolumeClaimSpec.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<Generated.PersistentVolumeClaimSpec> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Generated.PersistentVolumeClaimSpec getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder