Class StatefulSet.Builder
- java.lang.Object
-
- org.cdk8s.plus20.StatefulSet.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<StatefulSet>
- Enclosing class:
- StatefulSet
@Stability(Stable) public static final class StatefulSet.Builder extends Object implements software.amazon.jsii.Builder<StatefulSet>
A fluent builder forStatefulSet.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StatefulSetbuild()StatefulSet.Buildercontainers(List<? extends ContainerProps> containers)List of containers belonging to the pod.static StatefulSet.Buildercreate(software.constructs.Construct scope, String id)StatefulSet.BuilderdefaultSelector(Boolean defaultSelector)Automatically allocates a pod selector for this statefulset.StatefulSet.BuilderhostAliases(List<? extends HostAlias> hostAliases)HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.StatefulSet.BuilderinitContainers(List<? extends ContainerProps> initContainers)List of initialization containers belonging to the pod.StatefulSet.Buildermetadata(org.cdk8s.ApiObjectMetadata metadata)Metadata that all persisted resources must have, which includes all objects users must create.StatefulSet.BuilderpodManagementPolicy(PodManagementPolicy podManagementPolicy)Pod management policy to use for this statefulset.StatefulSet.BuilderpodMetadata(org.cdk8s.ApiObjectMetadata podMetadata)The pod metadata.StatefulSet.Builderreplicas(Number replicas)Number of desired pods.StatefulSet.BuilderrestartPolicy(RestartPolicy restartPolicy)Restart policy for all containers within the pod.StatefulSet.BuildersecurityContext(PodSecurityContextProps securityContext)SecurityContext holds pod-level security attributes and common container settings.StatefulSet.Builderservice(Service service)Service to associate with the statefulset.StatefulSet.BuilderserviceAccount(IServiceAccount serviceAccount)A service account provides an identity for processes that run in a Pod.StatefulSet.Buildervolumes(List<? extends Volume> volumes)List of volumes that can be mounted by containers belonging to the pod.
-
-
-
Method Detail
-
create
@Stability(Stable) public static StatefulSet.Builder create(software.constructs.Construct scope, String id)
- Parameters:
scope- This parameter is required.id- This parameter is required.- Returns:
- a new instance of
StatefulSet.Builder.
-
metadata
@Stability(Stable) public StatefulSet.Builder metadata(org.cdk8s.ApiObjectMetadata metadata)
Metadata that all persisted resources must have, which includes all objects users must create.- Parameters:
metadata- Metadata that all persisted resources must have, which includes all objects users must create. This parameter is required.- Returns:
this
-
containers
@Stability(Stable) public StatefulSet.Builder containers(List<? extends ContainerProps> 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()Default: - No containers. Note that a pod spec must include at least one container.
- Parameters:
containers- List of containers belonging to the pod. This parameter is required.- Returns:
this
-
hostAliases
@Stability(Stable) public StatefulSet.Builder hostAliases(List<? extends HostAlias> hostAliases)
HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.- Parameters:
hostAliases- HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. This parameter is required.- Returns:
this
-
initContainers
@Stability(Stable) public StatefulSet.Builder initContainers(List<? extends ContainerProps> 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.
Default: - No init containers.
- Parameters:
initContainers- List of initialization containers belonging to the pod. This parameter is required.- Returns:
this
-
restartPolicy
@Stability(Stable) public StatefulSet.Builder restartPolicy(RestartPolicy restartPolicy)
Restart policy for all containers within the pod.Default: RestartPolicy.ALWAYS
- Parameters:
restartPolicy- Restart policy for all containers within the pod. This parameter is required.- Returns:
this
-
securityContext
@Stability(Stable) public StatefulSet.Builder securityContext(PodSecurityContextProps securityContext)
SecurityContext holds pod-level security attributes and common container settings.Default: fsGroupChangePolicy: FsGroupChangePolicy.FsGroupChangePolicy.ALWAYS ensureNonRoot: false
- Parameters:
securityContext- SecurityContext holds pod-level security attributes and common container settings. This parameter is required.- Returns:
this
-
serviceAccount
@Stability(Stable) public StatefulSet.Builder serviceAccount(IServiceAccount 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).
Default: - No service account.
- Parameters:
serviceAccount- A service account provides an identity for processes that run in a Pod. This parameter is required.- Returns:
this
-
volumes
@Stability(Stable) public StatefulSet.Builder volumes(List<? extends Volume> volumes)
List of volumes that can be mounted by containers belonging to the pod.You can also add volumes later using
podSpec.addVolume()Default: - No volumes.
- Parameters:
volumes- List of volumes that can be mounted by containers belonging to the pod. This parameter is required.- Returns:
this
-
podMetadata
@Stability(Stable) public StatefulSet.Builder podMetadata(org.cdk8s.ApiObjectMetadata podMetadata)
The pod metadata.- Parameters:
podMetadata- The pod metadata. This parameter is required.- Returns:
this
-
service
@Stability(Stable) public StatefulSet.Builder service(Service service)
Service to associate with the statefulset.- Parameters:
service- Service to associate with the statefulset. This parameter is required.- Returns:
this
-
defaultSelector
@Stability(Stable) public StatefulSet.Builder defaultSelector(Boolean defaultSelector)
Automatically allocates a pod selector for this statefulset.If this is set to
falseyou must define your selector throughstatefulset.podMetadata.addLabel()andstatefulset.selectByLabel().Default: true
- Parameters:
defaultSelector- Automatically allocates a pod selector for this statefulset. This parameter is required.- Returns:
this
-
podManagementPolicy
@Stability(Stable) public StatefulSet.Builder podManagementPolicy(PodManagementPolicy podManagementPolicy)
Pod management policy to use for this statefulset.Default: PodManagementPolicy.ORDERED_READY
- Parameters:
podManagementPolicy- Pod management policy to use for this statefulset. This parameter is required.- Returns:
this
-
replicas
@Stability(Stable) public StatefulSet.Builder replicas(Number replicas)
Number of desired pods.Default: 1
- Parameters:
replicas- Number of desired pods. This parameter is required.- Returns:
this
-
build
@Stability(Stable) public StatefulSet build()
- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<StatefulSet>
-
-