Package org.cdk8s.plus20
Class DeploymentProps.Builder
- java.lang.Object
-
- org.cdk8s.plus20.DeploymentProps.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<DeploymentProps>
- Enclosing interface:
- DeploymentProps
@Stability(Stable) public static final class DeploymentProps.Builder extends Object implements software.amazon.jsii.Builder<DeploymentProps>
A builder forDeploymentProps
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
defaultSelector
@Stability(Stable) public DeploymentProps.Builder defaultSelector(Boolean defaultSelector)
Sets the value ofDeploymentProps.getDefaultSelector()- Parameters:
defaultSelector- Automatically allocates a pod selector for this deployment. If this is set tofalseyou must define your selector throughdeployment.podMetadata.addLabel()anddeployment.selectByLabel().- Returns:
this
-
replicas
@Stability(Stable) public DeploymentProps.Builder replicas(Number replicas)
Sets the value ofDeploymentProps.getReplicas()- Parameters:
replicas- Number of desired pods.- Returns:
this
-
strategy
@Stability(Stable) public DeploymentProps.Builder strategy(DeploymentStrategy strategy)
Sets the value ofDeploymentProps.getStrategy()- Parameters:
strategy- Specifies the strategy used to replace old Pods by new ones.- Returns:
this
-
metadata
@Stability(Stable) public DeploymentProps.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
-
podMetadata
@Stability(Stable) public DeploymentProps.Builder podMetadata(org.cdk8s.ApiObjectMetadata podMetadata)
Sets the value ofPodTemplateProps.getPodMetadata()- Parameters:
podMetadata- The pod metadata.- Returns:
this
-
containers
@Stability(Stable) public DeploymentProps.Builder containers(List<? extends ContainerProps> containers)
Sets the value ofPodSpecProps.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 DeploymentProps.Builder dns(PodDnsProps dns)
Sets the value ofPodSpecProps.getDns()- Parameters:
dns- DNS settings for the pod.- Returns:
this
-
dockerRegistryAuth
@Stability(Stable) public DeploymentProps.Builder dockerRegistryAuth(DockerConfigSecret dockerRegistryAuth)
Sets the value ofPodSpecProps.getDockerRegistryAuth()- Parameters:
dockerRegistryAuth- A secret containing docker credentials for authenticating to a registry.- Returns:
this
-
hostAliases
@Stability(Stable) public DeploymentProps.Builder hostAliases(List<? extends HostAlias> hostAliases)
Sets the value ofPodSpecProps.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 DeploymentProps.Builder initContainers(List<? extends ContainerProps> initContainers)
Sets the value ofPodSpecProps.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
-
restartPolicy
@Stability(Stable) public DeploymentProps.Builder restartPolicy(RestartPolicy restartPolicy)
Sets the value ofPodSpecProps.getRestartPolicy()- Parameters:
restartPolicy- Restart policy for all containers within the pod.- Returns:
this
-
securityContext
@Stability(Stable) public DeploymentProps.Builder securityContext(PodSecurityContextProps securityContext)
Sets the value ofPodSpecProps.getSecurityContext()- Parameters:
securityContext- SecurityContext holds pod-level security attributes and common container settings.- Returns:
this
-
serviceAccount
@Stability(Stable) public DeploymentProps.Builder serviceAccount(IServiceAccount serviceAccount)
Sets the value ofPodSpecProps.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 DeploymentProps.Builder volumes(List<? extends Volume> volumes)
Sets the value ofPodSpecProps.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
-
build
@Stability(Stable) public DeploymentProps build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<DeploymentProps>- Returns:
- a new instance of
DeploymentProps - Throws:
NullPointerException- if any required attribute was not provided
-
-