Package io.kubernetes.client.proto
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 ClassesModifier and TypeClassDescriptionstatic 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
FieldsModifier and TypeFieldDescriptionstatic 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 TypeMethodDescriptionboolean
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 V1Storage.CSIDriverSpec
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.getTokenRequestsOrBuilder
(int index) TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.List<? extends V1Storage.TokenRequestOrBuilder>
TokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication.final com.google.protobuf.UnknownFieldSet
getVolumeLifecycleModes
(int index) volumeLifecycleModes defines what kind of volumes this CSI volume driver supports.com.google.protobuf.ByteString
getVolumeLifecycleModesBytes
(int index) 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
hashCode()
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
newBuilder
(V1Storage.CSIDriverSpec prototype) protected V1Storage.CSIDriverSpec.Builder
newBuilderForType
(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) static V1Storage.CSIDriverSpec
parseDelimitedFrom
(InputStream input) static V1Storage.CSIDriverSpec
parseDelimitedFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static V1Storage.CSIDriverSpec
parseFrom
(byte[] data) static V1Storage.CSIDriverSpec
parseFrom
(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static V1Storage.CSIDriverSpec
parseFrom
(com.google.protobuf.ByteString data) static V1Storage.CSIDriverSpec
parseFrom
(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static V1Storage.CSIDriverSpec
parseFrom
(com.google.protobuf.CodedInputStream input) static V1Storage.CSIDriverSpec
parseFrom
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static V1Storage.CSIDriverSpec
parseFrom
(InputStream input) static V1Storage.CSIDriverSpec
parseFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static V1Storage.CSIDriverSpec
parseFrom
(ByteBuffer data) static V1Storage.CSIDriverSpec
parseFrom
(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<V1Storage.CSIDriverSpec>
parser()
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.
-
-
Method Details
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()- Specified by:
getUnknownFields
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getUnknownFields
in classcom.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 classcom.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
getVolumeLifecycleModes
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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
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 interfaceV1Storage.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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
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 interfaceV1Storage.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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
getTokenRequests
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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
getTokenRequestsOrBuilder
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 interfaceV1Storage.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 interfaceV1Storage.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 interfaceV1Storage.CSIDriverSpecOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessageV3
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.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
- Throws:
IOException
-
parseFrom
public static V1Storage.CSIDriverSpec parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- 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
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected V1Storage.CSIDriverSpec.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForType
in classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-