Package org.cdk8s.plus24.k8s
Class KubeStorageClassProps.Builder
- java.lang.Object
-
- org.cdk8s.plus24.k8s.KubeStorageClassProps.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<KubeStorageClassProps>
- Enclosing interface:
- KubeStorageClassProps
@Stability(Stable) public static final class KubeStorageClassProps.Builder extends Object implements software.amazon.jsii.Builder<KubeStorageClassProps>
A builder forKubeStorageClassProps
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
provisioner
@Stability(Stable) public KubeStorageClassProps.Builder provisioner(String provisioner)
Sets the value ofKubeStorageClassProps.getProvisioner()
- Parameters:
provisioner
- Provisioner indicates the type of the provisioner. This parameter is required.- Returns:
this
-
allowedTopologies
@Stability(Stable) public KubeStorageClassProps.Builder allowedTopologies(List<? extends TopologySelectorTerm> allowedTopologies)
Sets the value ofKubeStorageClassProps.getAllowedTopologies()
- Parameters:
allowedTopologies
- Restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.- Returns:
this
-
allowVolumeExpansion
@Stability(Stable) public KubeStorageClassProps.Builder allowVolumeExpansion(Boolean allowVolumeExpansion)
Sets the value ofKubeStorageClassProps.getAllowVolumeExpansion()
- Parameters:
allowVolumeExpansion
- AllowVolumeExpansion shows whether the storage class allow volume expand.- Returns:
this
-
metadata
@Stability(Stable) public KubeStorageClassProps.Builder metadata(ObjectMeta metadata)
Sets the value ofKubeStorageClassProps.getMetadata()
- Parameters:
metadata
- Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata- Returns:
this
-
mountOptions
@Stability(Stable) public KubeStorageClassProps.Builder mountOptions(List<String> mountOptions)
Sets the value ofKubeStorageClassProps.getMountOptions()
- Parameters:
mountOptions
- Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.- Returns:
this
-
parameters
@Stability(Stable) public KubeStorageClassProps.Builder parameters(Map<String,String> parameters)
Sets the value ofKubeStorageClassProps.getParameters()
- Parameters:
parameters
- Parameters holds the parameters for the provisioner that should create volumes of this storage class.- Returns:
this
-
reclaimPolicy
@Stability(Stable) public KubeStorageClassProps.Builder reclaimPolicy(String reclaimPolicy)
Sets the value ofKubeStorageClassProps.getReclaimPolicy()
- Parameters:
reclaimPolicy
- Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.- Returns:
this
-
volumeBindingMode
@Stability(Stable) public KubeStorageClassProps.Builder volumeBindingMode(String volumeBindingMode)
Sets the value ofKubeStorageClassProps.getVolumeBindingMode()
- Parameters:
volumeBindingMode
- VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.- Returns:
this
-
build
@Stability(Stable) public KubeStorageClassProps build()
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<KubeStorageClassProps>
- Returns:
- a new instance of
KubeStorageClassProps
- Throws:
NullPointerException
- if any required attribute was not provided
-
-