Class Generated.PersistentVolumeClaimSpec.Builder

    • Method Detail

      • 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.Builder<Generated.PersistentVolumeClaimSpec.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.PersistentVolumeClaimSpec.Builder>
      • getDefaultInstanceForType

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

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

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

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.PersistentVolumeClaimSpec.Builder>
      • 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.
      • setAccessModes

        public Generated.PersistentVolumeClaimSpec.Builder setAccessModes​(int index,
                                                                          String value)
         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;
        Parameters:
        index - The index to set the value at.
        value - The accessModes to set.
        Returns:
        This builder for chaining.
      • addAccessModes

        public Generated.PersistentVolumeClaimSpec.Builder addAccessModes​(String value)
         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;
        Parameters:
        value - The accessModes to add.
        Returns:
        This builder for chaining.
      • addAllAccessModes

        public Generated.PersistentVolumeClaimSpec.Builder addAllAccessModes​(Iterable<String> values)
         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;
        Parameters:
        values - The accessModes to add.
        Returns:
        This builder for chaining.
      • clearAccessModes

        public Generated.PersistentVolumeClaimSpec.Builder clearAccessModes()
         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;
        Returns:
        This builder for chaining.
      • addAccessModesBytes

        public Generated.PersistentVolumeClaimSpec.Builder addAccessModesBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes of the accessModes to add.
        Returns:
        This builder for chaining.
      • 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.
      • clearSelector

        public Generated.PersistentVolumeClaimSpec.Builder clearSelector()
         selector is a label query over volumes to consider for binding.
         +optional
         
        optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
      • getSelectorBuilder

        public Generated.LabelSelector.Builder getSelectorBuilder()
         selector is a label query over volumes to consider for binding.
         +optional
         
        optional .k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
      • 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.
      • setResources

        public Generated.PersistentVolumeClaimSpec.Builder setResources​(Generated.VolumeResourceRequirements value)
         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;
      • setResources

        public Generated.PersistentVolumeClaimSpec.Builder setResources​(Generated.VolumeResourceRequirements.Builder builderForValue)
         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;
      • mergeResources

        public Generated.PersistentVolumeClaimSpec.Builder mergeResources​(Generated.VolumeResourceRequirements value)
         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;
      • clearResources

        public Generated.PersistentVolumeClaimSpec.Builder clearResources()
         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;
      • getResourcesBuilder

        public Generated.VolumeResourceRequirements.Builder getResourcesBuilder()
         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;
      • 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.
      • setVolumeName

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeName​(String value)
         volumeName is the binding reference to the PersistentVolume backing this claim.
         +optional
         
        optional string volumeName = 3;
        Parameters:
        value - The volumeName to set.
        Returns:
        This builder for chaining.
      • clearVolumeName

        public Generated.PersistentVolumeClaimSpec.Builder clearVolumeName()
         volumeName is the binding reference to the PersistentVolume backing this claim.
         +optional
         
        optional string volumeName = 3;
        Returns:
        This builder for chaining.
      • setVolumeNameBytes

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeNameBytes​(com.google.protobuf.ByteString value)
         volumeName is the binding reference to the PersistentVolume backing this claim.
         +optional
         
        optional string volumeName = 3;
        Parameters:
        value - The bytes for volumeName to set.
        Returns:
        This builder for chaining.
      • 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.
      • setStorageClassName

        public Generated.PersistentVolumeClaimSpec.Builder setStorageClassName​(String value)
         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;
        Parameters:
        value - The storageClassName to set.
        Returns:
        This builder for chaining.
      • clearStorageClassName

        public Generated.PersistentVolumeClaimSpec.Builder clearStorageClassName()
         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;
        Returns:
        This builder for chaining.
      • setStorageClassNameBytes

        public Generated.PersistentVolumeClaimSpec.Builder setStorageClassNameBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for storageClassName to set.
        Returns:
        This builder for chaining.
      • 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.
      • setVolumeMode

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeMode​(String value)
         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;
        Parameters:
        value - The volumeMode to set.
        Returns:
        This builder for chaining.
      • clearVolumeMode

        public Generated.PersistentVolumeClaimSpec.Builder clearVolumeMode()
         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;
        Returns:
        This builder for chaining.
      • setVolumeModeBytes

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeModeBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for volumeMode to set.
        Returns:
        This builder for chaining.
      • 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.
      • setDataSource

        public Generated.PersistentVolumeClaimSpec.Builder setDataSource​(Generated.TypedLocalObjectReference value)
         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;
      • setDataSource

        public Generated.PersistentVolumeClaimSpec.Builder setDataSource​(Generated.TypedLocalObjectReference.Builder builderForValue)
         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;
      • mergeDataSource

        public Generated.PersistentVolumeClaimSpec.Builder mergeDataSource​(Generated.TypedLocalObjectReference value)
         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;
      • clearDataSource

        public Generated.PersistentVolumeClaimSpec.Builder clearDataSource()
         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;
      • getDataSourceBuilder

        public Generated.TypedLocalObjectReference.Builder getDataSourceBuilder()
         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;
      • 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.
      • setDataSourceRef

        public Generated.PersistentVolumeClaimSpec.Builder setDataSourceRef​(Generated.TypedObjectReference value)
         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;
      • setDataSourceRef

        public Generated.PersistentVolumeClaimSpec.Builder setDataSourceRef​(Generated.TypedObjectReference.Builder builderForValue)
         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;
      • mergeDataSourceRef

        public Generated.PersistentVolumeClaimSpec.Builder mergeDataSourceRef​(Generated.TypedObjectReference value)
         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;
      • clearDataSourceRef

        public Generated.PersistentVolumeClaimSpec.Builder clearDataSourceRef()
         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;
      • getDataSourceRefBuilder

        public Generated.TypedObjectReference.Builder getDataSourceRefBuilder()
         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;
      • 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.
      • setVolumeAttributesClassName

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeAttributesClassName​(String value)
         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;
        Parameters:
        value - The volumeAttributesClassName to set.
        Returns:
        This builder for chaining.
      • clearVolumeAttributesClassName

        public Generated.PersistentVolumeClaimSpec.Builder clearVolumeAttributesClassName()
         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;
        Returns:
        This builder for chaining.
      • setVolumeAttributesClassNameBytes

        public Generated.PersistentVolumeClaimSpec.Builder setVolumeAttributesClassNameBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for volumeAttributesClassName to set.
        Returns:
        This builder for chaining.