Package org.cdk8s.plus24
Class StatefulSetProps.Builder
- java.lang.Object
-
- org.cdk8s.plus24.StatefulSetProps.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<StatefulSetProps>
- Enclosing interface:
- StatefulSetProps
@Stability(Stable) public static final class StatefulSetProps.Builder extends Object implements software.amazon.jsii.Builder<StatefulSetProps>
A builder forStatefulSetProps
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
minReady
@Stability(Stable) public StatefulSetProps.Builder minReady(org.cdk8s.Duration minReady)
Sets the value ofStatefulSetProps.getMinReady()
- Parameters:
minReady
- Minimum duration for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Zero means the pod will be considered available as soon as it is ready.This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
- Returns:
this
-
podManagementPolicy
@Stability(Stable) public StatefulSetProps.Builder podManagementPolicy(PodManagementPolicy podManagementPolicy)
Sets the value ofStatefulSetProps.getPodManagementPolicy()
- Parameters:
podManagementPolicy
- Pod management policy to use for this statefulset.- Returns:
this
-
replicas
@Stability(Stable) public StatefulSetProps.Builder replicas(Number replicas)
Sets the value ofStatefulSetProps.getReplicas()
- Parameters:
replicas
- Number of desired pods.- Returns:
this
-
service
@Stability(Stable) public StatefulSetProps.Builder service(Service service)
Sets the value ofStatefulSetProps.getService()
- Parameters:
service
- Service to associate with the statefulset.- Returns:
this
-
strategy
@Stability(Stable) public StatefulSetProps.Builder strategy(StatefulSetUpdateStrategy strategy)
Sets the value ofStatefulSetProps.getStrategy()
- Parameters:
strategy
- Indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.- Returns:
this
-
podMetadata
@Stability(Stable) public StatefulSetProps.Builder podMetadata(org.cdk8s.ApiObjectMetadata podMetadata)
Sets the value ofWorkloadProps.getPodMetadata()
- Parameters:
podMetadata
- The pod metadata of this workload.- Returns:
this
-
select
@Stability(Stable) public StatefulSetProps.Builder select(Boolean select)
Sets the value ofWorkloadProps.getSelect()
- Parameters:
select
- Automatically allocates a pod label selector for this workload and add it to the pod metadata. This ensures this workload manages pods created by its pod template.- Returns:
this
-
spread
@Stability(Stable) public StatefulSetProps.Builder spread(Boolean spread)
Sets the value ofWorkloadProps.getSpread()
- Parameters:
spread
- Automatically spread pods across hostname and zones.- Returns:
this
-
automountServiceAccountToken
@Stability(Stable) public StatefulSetProps.Builder automountServiceAccountToken(Boolean automountServiceAccountToken)
Sets the value ofAbstractPodProps.getAutomountServiceAccountToken()
- Parameters:
automountServiceAccountToken
- Indicates whether a service account token should be automatically mounted.- Returns:
this
-
containers
@Stability(Stable) public StatefulSetProps.Builder containers(List<? extends ContainerProps> containers)
Sets the value ofAbstractPodProps.getContainers()
- Parameters:
containers
- List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod.You can add additionnal containers using
podSpec.addContainer()
- Returns:
this
-
dns
@Stability(Stable) public StatefulSetProps.Builder dns(PodDnsProps dns)
Sets the value ofAbstractPodProps.getDns()
- Parameters:
dns
- DNS settings for the pod.- Returns:
this
-
dockerRegistryAuth
@Stability(Stable) public StatefulSetProps.Builder dockerRegistryAuth(DockerConfigSecret dockerRegistryAuth)
Sets the value ofAbstractPodProps.getDockerRegistryAuth()
- Parameters:
dockerRegistryAuth
- A secret containing docker credentials for authenticating to a registry.- Returns:
this
-
hostAliases
@Stability(Stable) public StatefulSetProps.Builder hostAliases(List<? extends HostAlias> hostAliases)
Sets the value ofAbstractPodProps.getHostAliases()
- Parameters:
hostAliases
- HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.- Returns:
this
-
initContainers
@Stability(Stable) public StatefulSetProps.Builder initContainers(List<? extends ContainerProps> initContainers)
Sets the value ofAbstractPodProps.getInitContainers()
- Parameters:
initContainers
- List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion.Init containers cannot currently be added ,removed or updated.
- Returns:
this
-
isolate
@Stability(Stable) public StatefulSetProps.Builder isolate(Boolean isolate)
Sets the value ofAbstractPodProps.getIsolate()
- Parameters:
isolate
- Isolates the pod. This will prevent any ingress or egress connections to / from this pod. You can however allow explicit connections post instantiation by using the.connections
property.- Returns:
this
-
restartPolicy
@Stability(Stable) public StatefulSetProps.Builder restartPolicy(RestartPolicy restartPolicy)
Sets the value ofAbstractPodProps.getRestartPolicy()
- Parameters:
restartPolicy
- Restart policy for all containers within the pod.- Returns:
this
-
securityContext
@Stability(Stable) public StatefulSetProps.Builder securityContext(PodSecurityContextProps securityContext)
Sets the value ofAbstractPodProps.getSecurityContext()
- Parameters:
securityContext
- SecurityContext holds pod-level security attributes and common container settings.- Returns:
this
-
serviceAccount
@Stability(Stable) public StatefulSetProps.Builder serviceAccount(IServiceAccount serviceAccount)
Sets the value ofAbstractPodProps.getServiceAccount()
- Parameters:
serviceAccount
- A service account provides an identity for processes that run in a Pod. When you (a human) access the cluster (for example, using kubectl), you are authenticated by the apiserver as a particular User Account (currently this is usually admin, unless your cluster administrator has customized your cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, default).- Returns:
this
-
volumes
@Stability(Stable) public StatefulSetProps.Builder volumes(List<? extends Volume> volumes)
Sets the value ofAbstractPodProps.getVolumes()
- Parameters:
volumes
- List of volumes that can be mounted by containers belonging to the pod. You can also add volumes later usingpodSpec.addVolume()
- Returns:
this
-
metadata
@Stability(Stable) public StatefulSetProps.Builder metadata(org.cdk8s.ApiObjectMetadata metadata)
Sets the value ofResourceProps.getMetadata()
- Parameters:
metadata
- Metadata that all persisted resources must have, which includes all objects users must create.- Returns:
this
-
build
@Stability(Stable) public StatefulSetProps build()
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<StatefulSetProps>
- Returns:
- a new instance of
StatefulSetProps
- Throws:
NullPointerException
- if any required attribute was not provided
-
-