Class Container.Builder
- java.lang.Object
-
- org.cdk8s.plus25.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.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/
-
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
-
-