Class V1Storage.CSIDriverSpec

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.kubernetes.client.proto.V1Storage.CSIDriverSpec
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, V1Storage.CSIDriverSpecOrBuilder, Serializable
Enclosing class:
V1Storage

public static final class V1Storage.CSIDriverSpec extends com.google.protobuf.GeneratedMessageV3 implements V1Storage.CSIDriverSpecOrBuilder
 CSIDriverSpec is the specification of a CSIDriver.
 
Protobuf type k8s.io.api.storage.v1.CSIDriverSpec
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    CSIDriverSpec is the specification of a CSIDriver.

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

    com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final com.google.protobuf.Parser<V1Storage.CSIDriverSpec>
    Deprecated.
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessageV3

    alwaysUseFieldBuilders, unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessage

    memoizedSize

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    boolean
    attachRequired indicates this CSI volume driver requires an attach operation (because it implements the CSI ControllerPublishVolume() method), and that the Kubernetes attach detach controller should call the attach volume interface which checks the volumeattachment status and waits until the volume is attached before proceeding to mounting.
     
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    Defines if the underlying volume supports changing ownership and permission of the volume before being mounted.
    com.google.protobuf.ByteString
    Defines if the underlying volume supports changing ownership and permission of the volume before being mounted.
    com.google.protobuf.Parser<V1Storage.CSIDriverSpec>
     
    boolean
    If set to true, podInfoOnMount indicates this CSI volume driver requires additional pod information (like podName, podUID, etc.) during mount operations.
    boolean
    RequiresRepublish indicates the CSI driver wants `NodePublishVolume` being periodically called to reflect any possible change in the mounted volume.
    int
     
    boolean
    If set to true, storageCapacity indicates that the CSI volume driver wants pod scheduling to consider the storage capacity that the driver deployment will report by creating CSIStorageCapacity objects with capacity information.
    getTokenRequests(int index)
    TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.
    int
    TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.
    TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.
    TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.
    TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.
    final com.google.protobuf.UnknownFieldSet
     
    volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
    com.google.protobuf.ByteString
    volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
    int
    volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
    com.google.protobuf.ProtocolStringList
    volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
    boolean
    attachRequired indicates this CSI volume driver requires an attach operation (because it implements the CSI ControllerPublishVolume() method), and that the Kubernetes attach detach controller should call the attach volume interface which checks the volumeattachment status and waits until the volume is attached before proceeding to mounting.
    boolean
    Defines if the underlying volume supports changing ownership and permission of the volume before being mounted.
    int
     
    boolean
    If set to true, podInfoOnMount indicates this CSI volume driver requires additional pod information (like podName, podUID, etc.) during mount operations.
    boolean
    RequiresRepublish indicates the CSI driver wants `NodePublishVolume` being periodically called to reflect any possible change in the mounted volume.
    boolean
    If set to true, storageCapacity indicates that the CSI volume driver wants pod scheduling to consider the storage capacity that the driver deployment will report by creating CSIStorageCapacity objects with capacity information.
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    final boolean
     
     
     
     
    newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
     
     
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(byte[] data)
     
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.ByteString data)
     
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<V1Storage.CSIDriverSpec>
     
     
    void
    writeTo(com.google.protobuf.CodedOutputStream output)
     

    Methods inherited from class com.google.protobuf.GeneratedMessageV3

    canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newInstance, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

    Methods inherited from class com.google.protobuf.AbstractMessage

    findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLite

    toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
  • Field Details

    • ATTACHREQUIRED_FIELD_NUMBER

      public static final int ATTACHREQUIRED_FIELD_NUMBER
      See Also:
    • PODINFOONMOUNT_FIELD_NUMBER

      public static final int PODINFOONMOUNT_FIELD_NUMBER
      See Also:
    • VOLUMELIFECYCLEMODES_FIELD_NUMBER

      public static final int VOLUMELIFECYCLEMODES_FIELD_NUMBER
      See Also:
    • STORAGECAPACITY_FIELD_NUMBER

      public static final int STORAGECAPACITY_FIELD_NUMBER
      See Also:
    • FSGROUPPOLICY_FIELD_NUMBER

      public static final int FSGROUPPOLICY_FIELD_NUMBER
      See Also:
    • TOKENREQUESTS_FIELD_NUMBER

      public static final int TOKENREQUESTS_FIELD_NUMBER
      See Also:
    • REQUIRESREPUBLISH_FIELD_NUMBER

      public static final int REQUIRESREPUBLISH_FIELD_NUMBER
      See Also:
    • PARSER

      @Deprecated public static final com.google.protobuf.Parser<V1Storage.CSIDriverSpec> PARSER
      Deprecated.
  • Method Details

    • getUnknownFields

      public final com.google.protobuf.UnknownFieldSet getUnknownFields()
      Specified by:
      getUnknownFields in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getUnknownFields 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
    • hasAttachRequired

      public boolean hasAttachRequired()
       attachRequired indicates this CSI volume driver requires an attach
       operation (because it implements the CSI ControllerPublishVolume()
       method), and that the Kubernetes attach detach controller should call
       the attach volume interface which checks the volumeattachment status
       and waits until the volume is attached before proceeding to mounting.
       The CSI external-attacher coordinates with CSI volume driver and updates
       the volumeattachment status when the attach operation is complete.
       If the CSIDriverRegistry feature gate is enabled and the value is
       specified to false, the attach operation will be skipped.
       Otherwise the attach operation will be called.
       This field is immutable.
       +optional
       
      optional bool attachRequired = 1;
      Specified by:
      hasAttachRequired in interface V1Storage.CSIDriverSpecOrBuilder
    • getAttachRequired

      public boolean getAttachRequired()
       attachRequired indicates this CSI volume driver requires an attach
       operation (because it implements the CSI ControllerPublishVolume()
       method), and that the Kubernetes attach detach controller should call
       the attach volume interface which checks the volumeattachment status
       and waits until the volume is attached before proceeding to mounting.
       The CSI external-attacher coordinates with CSI volume driver and updates
       the volumeattachment status when the attach operation is complete.
       If the CSIDriverRegistry feature gate is enabled and the value is
       specified to false, the attach operation will be skipped.
       Otherwise the attach operation will be called.
       This field is immutable.
       +optional
       
      optional bool attachRequired = 1;
      Specified by:
      getAttachRequired in interface V1Storage.CSIDriverSpecOrBuilder
    • hasPodInfoOnMount

      public boolean hasPodInfoOnMount()
       If set to true, podInfoOnMount indicates this CSI volume driver
       requires additional pod information (like podName, podUID, etc.) during
       mount operations.
       If set to false, pod information will not be passed on mount.
       Default is false.
       The CSI driver specifies podInfoOnMount as part of driver deployment.
       If true, Kubelet will pass pod information as VolumeContext in the CSI
       NodePublishVolume() calls.
       The CSI driver is responsible for parsing and validating the information
       passed in as VolumeContext.
       The following VolumeConext will be passed if podInfoOnMount is set to true.
       This list might grow, but the prefix will be used.
       "csi.storage.k8s.io/pod.name": pod.Name
       "csi.storage.k8s.io/pod.namespace": pod.Namespace
       "csi.storage.k8s.io/pod.uid": string(pod.UID)
       "csi.storage.k8s.io/ephemeral": "true" if the volume is an ephemeral inline volume
                                       defined by a CSIVolumeSource, otherwise "false"
       "csi.storage.k8s.io/ephemeral" is a new feature in Kubernetes 1.16. It is only
       required for drivers which support both the "Persistent" and "Ephemeral" VolumeLifecycleMode.
       Other drivers can leave pod info disabled and/or ignore this field.
       As Kubernetes 1.15 doesn't support this field, drivers can only support one mode when
       deployed on such a cluster and the deployment determines which mode that is, for example
       via a command line parameter of the driver.
       This field is immutable.
       +optional
       
      optional bool podInfoOnMount = 2;
      Specified by:
      hasPodInfoOnMount in interface V1Storage.CSIDriverSpecOrBuilder
    • getPodInfoOnMount

      public boolean getPodInfoOnMount()
       If set to true, podInfoOnMount indicates this CSI volume driver
       requires additional pod information (like podName, podUID, etc.) during
       mount operations.
       If set to false, pod information will not be passed on mount.
       Default is false.
       The CSI driver specifies podInfoOnMount as part of driver deployment.
       If true, Kubelet will pass pod information as VolumeContext in the CSI
       NodePublishVolume() calls.
       The CSI driver is responsible for parsing and validating the information
       passed in as VolumeContext.
       The following VolumeConext will be passed if podInfoOnMount is set to true.
       This list might grow, but the prefix will be used.
       "csi.storage.k8s.io/pod.name": pod.Name
       "csi.storage.k8s.io/pod.namespace": pod.Namespace
       "csi.storage.k8s.io/pod.uid": string(pod.UID)
       "csi.storage.k8s.io/ephemeral": "true" if the volume is an ephemeral inline volume
                                       defined by a CSIVolumeSource, otherwise "false"
       "csi.storage.k8s.io/ephemeral" is a new feature in Kubernetes 1.16. It is only
       required for drivers which support both the "Persistent" and "Ephemeral" VolumeLifecycleMode.
       Other drivers can leave pod info disabled and/or ignore this field.
       As Kubernetes 1.15 doesn't support this field, drivers can only support one mode when
       deployed on such a cluster and the deployment determines which mode that is, for example
       via a command line parameter of the driver.
       This field is immutable.
       +optional
       
      optional bool podInfoOnMount = 2;
      Specified by:
      getPodInfoOnMount in interface V1Storage.CSIDriverSpecOrBuilder
    • getVolumeLifecycleModesList

      public com.google.protobuf.ProtocolStringList getVolumeLifecycleModesList()
       volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
       The default if the list is empty is "Persistent", which is the usage
       defined by the CSI specification and implemented in Kubernetes via the usual
       PV/PVC mechanism.
       The other mode is "Ephemeral". In this mode, volumes are defined inline
       inside the pod spec with CSIVolumeSource and their lifecycle is tied to
       the lifecycle of that pod. A driver has to be aware of this
       because it is only going to get a NodePublishVolume call for such a volume.
       For more information about implementing this mode, see
       https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html
       A driver can support one or more of these modes and
       more modes may be added in the future.
       This field is beta.
       This field is immutable.
       +optional
       +listType=set
       
      repeated string volumeLifecycleModes = 3;
      Specified by:
      getVolumeLifecycleModesList in interface V1Storage.CSIDriverSpecOrBuilder
    • getVolumeLifecycleModesCount

      public int getVolumeLifecycleModesCount()
       volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
       The default if the list is empty is "Persistent", which is the usage
       defined by the CSI specification and implemented in Kubernetes via the usual
       PV/PVC mechanism.
       The other mode is "Ephemeral". In this mode, volumes are defined inline
       inside the pod spec with CSIVolumeSource and their lifecycle is tied to
       the lifecycle of that pod. A driver has to be aware of this
       because it is only going to get a NodePublishVolume call for such a volume.
       For more information about implementing this mode, see
       https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html
       A driver can support one or more of these modes and
       more modes may be added in the future.
       This field is beta.
       This field is immutable.
       +optional
       +listType=set
       
      repeated string volumeLifecycleModes = 3;
      Specified by:
      getVolumeLifecycleModesCount in interface V1Storage.CSIDriverSpecOrBuilder
    • getVolumeLifecycleModes

      public String getVolumeLifecycleModes(int index)
       volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
       The default if the list is empty is "Persistent", which is the usage
       defined by the CSI specification and implemented in Kubernetes via the usual
       PV/PVC mechanism.
       The other mode is "Ephemeral". In this mode, volumes are defined inline
       inside the pod spec with CSIVolumeSource and their lifecycle is tied to
       the lifecycle of that pod. A driver has to be aware of this
       because it is only going to get a NodePublishVolume call for such a volume.
       For more information about implementing this mode, see
       https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html
       A driver can support one or more of these modes and
       more modes may be added in the future.
       This field is beta.
       This field is immutable.
       +optional
       +listType=set
       
      repeated string volumeLifecycleModes = 3;
      Specified by:
      getVolumeLifecycleModes in interface V1Storage.CSIDriverSpecOrBuilder
    • getVolumeLifecycleModesBytes

      public com.google.protobuf.ByteString getVolumeLifecycleModesBytes(int index)
       volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.
       The default if the list is empty is "Persistent", which is the usage
       defined by the CSI specification and implemented in Kubernetes via the usual
       PV/PVC mechanism.
       The other mode is "Ephemeral". In this mode, volumes are defined inline
       inside the pod spec with CSIVolumeSource and their lifecycle is tied to
       the lifecycle of that pod. A driver has to be aware of this
       because it is only going to get a NodePublishVolume call for such a volume.
       For more information about implementing this mode, see
       https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html
       A driver can support one or more of these modes and
       more modes may be added in the future.
       This field is beta.
       This field is immutable.
       +optional
       +listType=set
       
      repeated string volumeLifecycleModes = 3;
      Specified by:
      getVolumeLifecycleModesBytes in interface V1Storage.CSIDriverSpecOrBuilder
    • hasStorageCapacity

      public boolean hasStorageCapacity()
       If set to true, storageCapacity indicates that the CSI
       volume driver wants pod scheduling to consider the storage
       capacity that the driver deployment will report by creating
       CSIStorageCapacity objects with capacity information.
       The check can be enabled immediately when deploying a driver.
       In that case, provisioning new volumes with late binding
       will pause until the driver deployment has published
       some suitable CSIStorageCapacity object.
       Alternatively, the driver can be deployed with the field
       unset or false and it can be flipped later when storage
       capacity information has been published.
       This field was immutable in Kubernetes <= 1.22 and now is mutable.
       This is a beta field and only available when the CSIStorageCapacity
       feature is enabled. The default is false.
       +optional
       +featureGate=CSIStorageCapacity
       
      optional bool storageCapacity = 4;
      Specified by:
      hasStorageCapacity in interface V1Storage.CSIDriverSpecOrBuilder
    • getStorageCapacity

      public boolean getStorageCapacity()
       If set to true, storageCapacity indicates that the CSI
       volume driver wants pod scheduling to consider the storage
       capacity that the driver deployment will report by creating
       CSIStorageCapacity objects with capacity information.
       The check can be enabled immediately when deploying a driver.
       In that case, provisioning new volumes with late binding
       will pause until the driver deployment has published
       some suitable CSIStorageCapacity object.
       Alternatively, the driver can be deployed with the field
       unset or false and it can be flipped later when storage
       capacity information has been published.
       This field was immutable in Kubernetes <= 1.22 and now is mutable.
       This is a beta field and only available when the CSIStorageCapacity
       feature is enabled. The default is false.
       +optional
       +featureGate=CSIStorageCapacity
       
      optional bool storageCapacity = 4;
      Specified by:
      getStorageCapacity in interface V1Storage.CSIDriverSpecOrBuilder
    • hasFsGroupPolicy

      public boolean hasFsGroupPolicy()
       Defines if the underlying volume supports changing ownership and
       permission of the volume before being mounted.
       Refer to the specific FSGroupPolicy values for additional details.
       This field is immutable.
       Defaults to ReadWriteOnceWithFSType, which will examine each volume
       to determine if Kubernetes should modify ownership and permissions of the volume.
       With the default policy the defined fsGroup will only be applied
       if a fstype is defined and the volume's access mode contains ReadWriteOnce.
       +optional
       
      optional string fsGroupPolicy = 5;
      Specified by:
      hasFsGroupPolicy in interface V1Storage.CSIDriverSpecOrBuilder
    • getFsGroupPolicy

      public String getFsGroupPolicy()
       Defines if the underlying volume supports changing ownership and
       permission of the volume before being mounted.
       Refer to the specific FSGroupPolicy values for additional details.
       This field is immutable.
       Defaults to ReadWriteOnceWithFSType, which will examine each volume
       to determine if Kubernetes should modify ownership and permissions of the volume.
       With the default policy the defined fsGroup will only be applied
       if a fstype is defined and the volume's access mode contains ReadWriteOnce.
       +optional
       
      optional string fsGroupPolicy = 5;
      Specified by:
      getFsGroupPolicy in interface V1Storage.CSIDriverSpecOrBuilder
    • getFsGroupPolicyBytes

      public com.google.protobuf.ByteString getFsGroupPolicyBytes()
       Defines if the underlying volume supports changing ownership and
       permission of the volume before being mounted.
       Refer to the specific FSGroupPolicy values for additional details.
       This field is immutable.
       Defaults to ReadWriteOnceWithFSType, which will examine each volume
       to determine if Kubernetes should modify ownership and permissions of the volume.
       With the default policy the defined fsGroup will only be applied
       if a fstype is defined and the volume's access mode contains ReadWriteOnce.
       +optional
       
      optional string fsGroupPolicy = 5;
      Specified by:
      getFsGroupPolicyBytes in interface V1Storage.CSIDriverSpecOrBuilder
    • getTokenRequestsList

      public List<V1Storage.TokenRequest> getTokenRequestsList()
       TokenRequests indicates the CSI driver needs pods' service account
       tokens it is mounting volume for to do necessary authentication. Kubelet
       will pass the tokens in VolumeContext in the CSI NodePublishVolume calls.
       The CSI driver should parse and validate the following VolumeContext:
       "csi.storage.k8s.io/serviceAccount.tokens": {
         "<audience>": {
           "token": <token>,
           "expirationTimestamp": <expiration timestamp in RFC3339>,
         },
         ...
       }
       Note: Audience in each TokenRequest should be different and at
       most one token is empty string. To receive a new token after expiry,
       RequiresRepublish can be used to trigger NodePublishVolume periodically.
       +optional
       +listType=atomic
       
      repeated .k8s.io.api.storage.v1.TokenRequest tokenRequests = 6;
      Specified by:
      getTokenRequestsList in interface V1Storage.CSIDriverSpecOrBuilder
    • getTokenRequestsOrBuilderList

      public List<? extends V1Storage.TokenRequestOrBuilder> getTokenRequestsOrBuilderList()
       TokenRequests indicates the CSI driver needs pods' service account
       tokens it is mounting volume for to do necessary authentication. Kubelet
       will pass the tokens in VolumeContext in the CSI NodePublishVolume calls.
       The CSI driver should parse and validate the following VolumeContext:
       "csi.storage.k8s.io/serviceAccount.tokens": {
         "<audience>": {
           "token": <token>,
           "expirationTimestamp": <expiration timestamp in RFC3339>,
         },
         ...
       }
       Note: Audience in each TokenRequest should be different and at
       most one token is empty string. To receive a new token after expiry,
       RequiresRepublish can be used to trigger NodePublishVolume periodically.
       +optional
       +listType=atomic
       
      repeated .k8s.io.api.storage.v1.TokenRequest tokenRequests = 6;
      Specified by:
      getTokenRequestsOrBuilderList in interface V1Storage.CSIDriverSpecOrBuilder
    • getTokenRequestsCount

      public int getTokenRequestsCount()
       TokenRequests indicates the CSI driver needs pods' service account
       tokens it is mounting volume for to do necessary authentication. Kubelet
       will pass the tokens in VolumeContext in the CSI NodePublishVolume calls.
       The CSI driver should parse and validate the following VolumeContext:
       "csi.storage.k8s.io/serviceAccount.tokens": {
         "<audience>": {
           "token": <token>,
           "expirationTimestamp": <expiration timestamp in RFC3339>,
         },
         ...
       }
       Note: Audience in each TokenRequest should be different and at
       most one token is empty string. To receive a new token after expiry,
       RequiresRepublish can be used to trigger NodePublishVolume periodically.
       +optional
       +listType=atomic
       
      repeated .k8s.io.api.storage.v1.TokenRequest tokenRequests = 6;
      Specified by:
      getTokenRequestsCount in interface V1Storage.CSIDriverSpecOrBuilder
    • getTokenRequests

      public V1Storage.TokenRequest getTokenRequests(int index)
       TokenRequests indicates the CSI driver needs pods' service account
       tokens it is mounting volume for to do necessary authentication. Kubelet
       will pass the tokens in VolumeContext in the CSI NodePublishVolume calls.
       The CSI driver should parse and validate the following VolumeContext:
       "csi.storage.k8s.io/serviceAccount.tokens": {
         "<audience>": {
           "token": <token>,
           "expirationTimestamp": <expiration timestamp in RFC3339>,
         },
         ...
       }
       Note: Audience in each TokenRequest should be different and at
       most one token is empty string. To receive a new token after expiry,
       RequiresRepublish can be used to trigger NodePublishVolume periodically.
       +optional
       +listType=atomic
       
      repeated .k8s.io.api.storage.v1.TokenRequest tokenRequests = 6;
      Specified by:
      getTokenRequests in interface V1Storage.CSIDriverSpecOrBuilder
    • getTokenRequestsOrBuilder

      public V1Storage.TokenRequestOrBuilder getTokenRequestsOrBuilder(int index)
       TokenRequests indicates the CSI driver needs pods' service account
       tokens it is mounting volume for to do necessary authentication. Kubelet
       will pass the tokens in VolumeContext in the CSI NodePublishVolume calls.
       The CSI driver should parse and validate the following VolumeContext:
       "csi.storage.k8s.io/serviceAccount.tokens": {
         "<audience>": {
           "token": <token>,
           "expirationTimestamp": <expiration timestamp in RFC3339>,
         },
         ...
       }
       Note: Audience in each TokenRequest should be different and at
       most one token is empty string. To receive a new token after expiry,
       RequiresRepublish can be used to trigger NodePublishVolume periodically.
       +optional
       +listType=atomic
       
      repeated .k8s.io.api.storage.v1.TokenRequest tokenRequests = 6;
      Specified by:
      getTokenRequestsOrBuilder in interface V1Storage.CSIDriverSpecOrBuilder
    • hasRequiresRepublish

      public boolean hasRequiresRepublish()
       RequiresRepublish indicates the CSI driver wants `NodePublishVolume`
       being periodically called to reflect any possible change in the mounted
       volume. This field defaults to false.
       Note: After a successful initial NodePublishVolume call, subsequent calls
       to NodePublishVolume should only update the contents of the volume. New
       mount points will not be seen by a running container.
       +optional
       
      optional bool requiresRepublish = 7;
      Specified by:
      hasRequiresRepublish in interface V1Storage.CSIDriverSpecOrBuilder
    • getRequiresRepublish

      public boolean getRequiresRepublish()
       RequiresRepublish indicates the CSI driver wants `NodePublishVolume`
       being periodically called to reflect any possible change in the mounted
       volume. This field defaults to false.
       Note: After a successful initial NodePublishVolume call, subsequent calls
       to NodePublishVolume should only update the contents of the volume. New
       mount points will not be seen by a running container.
       +optional
       
      optional bool requiresRepublish = 7;
      Specified by:
      getRequiresRepublish in interface V1Storage.CSIDriverSpecOrBuilder
    • 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 V1Storage.CSIDriverSpec parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static V1Storage.CSIDriverSpec parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static V1Storage.CSIDriverSpec parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static V1Storage.CSIDriverSpec parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public V1Storage.CSIDriverSpec.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static V1Storage.CSIDriverSpec.Builder newBuilder()
    • newBuilder

      public static V1Storage.CSIDriverSpec.Builder newBuilder(V1Storage.CSIDriverSpec prototype)
    • toBuilder

      public V1Storage.CSIDriverSpec.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected V1Storage.CSIDriverSpec.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static V1Storage.CSIDriverSpec getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<V1Storage.CSIDriverSpec> parser()
    • getParserForType

      public com.google.protobuf.Parser<V1Storage.CSIDriverSpec> 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 V1Storage.CSIDriverSpec getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder