Class Container.Builder
- java.lang.Object
-
- org.cdk8s.plus28.Container.Builder
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Container.Builderargs(List<String> args)Arguments to the entrypoint.Containerbuild()Container.Buildercommand(List<String> command)Entrypoint array.static Container.Buildercreate()Container.BuilderenvFrom(List<? extends EnvFrom> envFrom)List of sources to populate environment variables in the container.Container.BuilderenvVariables(Map<String,? extends EnvValue> envVariables)Environment variables to set in the container.Container.Builderimage(String image)Docker image name.Container.BuilderimagePullPolicy(ImagePullPolicy imagePullPolicy)Image pull policy for this container.Container.Builderlifecycle(ContainerLifecycle lifecycle)Describes actions that the management system should take in response to container lifecycle events.Container.Builderliveness(Probe liveness)Periodic probe of container liveness.Container.Buildername(String name)Name of the container specified as a DNS_LABEL.Container.Builderport(Number port)Deprecated.useportNumber.Container.BuilderportNumber(Number portNumber)Number of port to expose on the pod's IP address.Container.Builderports(List<? extends ContainerPort> ports)List of ports to expose from this container.Container.Builderreadiness(Probe readiness)Determines when the container is ready to serve traffic.Container.Builderresources(ContainerResources resources)Compute resources (CPU and memory requests and limits) required by the container.Container.BuilderrestartPolicy(ContainerRestartPolicy restartPolicy)Kubelet will start init containers with restartPolicy=Always in the order with other init containers, but instead of waiting for its completion, it will wait for the container startup completion Currently, only accepted value is Always.Container.BuildersecurityContext(ContainerSecurityContextProps securityContext)SecurityContext defines the security options the container should be run with.Container.Builderstartup(Probe startup)StartupProbe indicates that the Pod has successfully initialized.Container.BuildervolumeMounts(List<? extends VolumeMount> volumeMounts)Pod volumes to mount into the container's filesystem.Container.BuilderworkingDir(String workingDir)Container's working directory.
-
-
-
Method Detail
-
create
@Stability(Stable) public static Container.Builder create()
- Returns:
- a new instance of
Container.Builder.
-
args
@Stability(Stable) public Container.Builder args(List<String> args)
Arguments to the entrypoint. The docker image's CMD is used ifcommandis not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
Cannot be updated.
Default: []
- Parameters:
args- Arguments to the entrypoint. The docker image's CMD is used ifcommandis not provided. This parameter is required.- Returns:
this- See Also:
- https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
-
command
@Stability(Stable) public Container.Builder command(List<String> command)
Entrypoint array.Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
Default: - The docker image's ENTRYPOINT.
- Parameters:
command- Entrypoint array. This parameter is required.- Returns:
this
-
envFrom
@Stability(Stable) public Container.Builder envFrom(List<? extends EnvFrom> envFrom)
List of sources to populate environment variables in the container.When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by the
envVariablesproperty with a duplicate key will take precedence.Default: - No sources.
- Parameters:
envFrom- List of sources to populate environment variables in the container. This parameter is required.- Returns:
this
-
envVariables
@Stability(Stable) public Container.Builder envVariables(Map<String,? extends EnvValue> envVariables)
Environment variables to set in the container.Default: - No environment variables.
- Parameters:
envVariables- Environment variables to set in the container. This parameter is required.- Returns:
this
-
imagePullPolicy
@Stability(Stable) public Container.Builder imagePullPolicy(ImagePullPolicy imagePullPolicy)
Image pull policy for this container.Default: ImagePullPolicy.ALWAYS
- Parameters:
imagePullPolicy- Image pull policy for this container. This parameter is required.- Returns:
this
-
lifecycle
@Stability(Stable) public Container.Builder lifecycle(ContainerLifecycle lifecycle)
Describes actions that the management system should take in response to container lifecycle events.- Parameters:
lifecycle- Describes actions that the management system should take in response to container lifecycle events. This parameter is required.- Returns:
this
-
liveness
@Stability(Stable) public Container.Builder liveness(Probe liveness)
Periodic probe of container liveness.Container will be restarted if the probe fails.
Default: - no liveness probe is defined
- Parameters:
liveness- Periodic probe of container liveness. This parameter is required.- Returns:
this
-
name
@Stability(Stable) public Container.Builder name(String name)
Name of the container specified as a DNS_LABEL.Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
Default: 'main'
- Parameters:
name- Name of the container specified as a DNS_LABEL. This parameter is required.- Returns:
this
-
port
@Stability(Deprecated) @Deprecated public Container.Builder port(Number port)
Deprecated.- use
portNumber.
- Parameters:
port- This parameter is required.- Returns:
this
- use
-
portNumber
@Stability(Stable) public Container.Builder portNumber(Number portNumber)
Number of port to expose on the pod's IP address.This must be a valid port number, 0 < x < 65536.
This is a convinience property if all you need a single TCP numbered port. In case more advanced configuartion is required, use the
portsproperty.This port is added to the list of ports mentioned in the
portsproperty.Default: - Only the ports mentiond in the `ports` property are exposed.
- Parameters:
portNumber- Number of port to expose on the pod's IP address. This parameter is required.- Returns:
this
-
ports
@Stability(Stable) public Container.Builder ports(List<? extends ContainerPort> ports)
List of ports to expose from this container.Default: - Only the port mentioned in the `portNumber` property is exposed.
- Parameters:
ports- List of ports to expose from this container. This parameter is required.- Returns:
this
-
readiness
@Stability(Stable) public Container.Builder readiness(Probe readiness)
Determines when the container is ready to serve traffic.Default: - no readiness probe is defined
- Parameters:
readiness- Determines when the container is ready to serve traffic. This parameter is required.- Returns:
this
-
resources
@Stability(Stable) public Container.Builder resources(ContainerResources resources)
Compute resources (CPU and memory requests and limits) required by the container.Default: cpu: request: 1000 millis limit: 1500 millis memory: request: 512 mebibytes limit: 2048 mebibytes
- Parameters:
resources- Compute resources (CPU and memory requests and limits) required by the container. This parameter is required.- Returns:
this- See Also:
- https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
-
restartPolicy
@Stability(Stable) public Container.Builder restartPolicy(ContainerRestartPolicy restartPolicy)
Kubelet will start init containers with restartPolicy=Always in the order with other init containers, but instead of waiting for its completion, it will wait for the container startup completion Currently, only accepted value is Always.Default: - no restart policy is defined and the pod restart policy is applied
- Parameters:
restartPolicy- Kubelet will start init containers with restartPolicy=Always in the order with other init containers, but instead of waiting for its completion, it will wait for the container startup completion Currently, only accepted value is Always. This parameter is required.- Returns:
this- See Also:
- https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
-
securityContext
@Stability(Stable) public Container.Builder securityContext(ContainerSecurityContextProps securityContext)
SecurityContext defines the security options the container should be run with.If set, the fields override equivalent fields of the pod's security context.
Default: ensureNonRoot: true privileged: false readOnlyRootFilesystem: true allowPrivilegeEscalation: false user: 25000 group: 26000
- Parameters:
securityContext- SecurityContext defines the security options the container should be run with. This parameter is required.- Returns:
this- See Also:
- https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
-
startup
@Stability(Stable) public Container.Builder startup(Probe startup)
StartupProbe indicates that the Pod has successfully initialized.If specified, no other probes are executed until this completes successfully
Default: - If a port is provided, then knocks on that port to determine when the container is ready for readiness and liveness probe checks. Otherwise, no startup probe is defined.
- Parameters:
startup- StartupProbe indicates that the Pod has successfully initialized. This parameter is required.- Returns:
this
-
volumeMounts
@Stability(Stable) public Container.Builder volumeMounts(List<? extends VolumeMount> volumeMounts)
Pod volumes to mount into the container's filesystem.Cannot be updated.
- Parameters:
volumeMounts- Pod volumes to mount into the container's filesystem. This parameter is required.- Returns:
this
-
workingDir
@Stability(Stable) public Container.Builder workingDir(String workingDir)
Container's working directory.If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
Default: - The container runtime's default.
- Parameters:
workingDir- Container's working directory. This parameter is required.- Returns:
this
-
image
@Stability(Stable) public Container.Builder image(String image)
Docker image name.- Parameters:
image- Docker image name. This parameter is required.- Returns:
this
-
-