Package io.fabric8.kubernetes.api.model
Class Container
- java.lang.Object
-
- io.fabric8.kubernetes.api.model.Container
-
- All Implemented Interfaces:
io.fabric8.kubernetes.api.builder.Editable<ContainerBuilder>
,KubernetesResource
,Serializable
@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") public class Container extends Object implements io.fabric8.kubernetes.api.builder.Editable<ContainerBuilder>, KubernetesResource
A single application container that you want to run within a pod.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Container()
No args constructor for use in serializationContainer(List<String> args, List<String> command, List<EnvVar> env, List<EnvFromSource> envFrom, String image, String imagePullPolicy, Lifecycle lifecycle, Probe livenessProbe, String name, List<ContainerPort> ports, Probe readinessProbe, List<ContainerResizePolicy> resizePolicy, ResourceRequirements resources, String restartPolicy, SecurityContext securityContext, Probe startupProbe, Boolean stdin, Boolean stdinOnce, String terminationMessagePath, String terminationMessagePolicy, Boolean tty, List<VolumeDevice> volumeDevices, List<VolumeMount> volumeMounts, String workingDir)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ContainerBuilder
edit()
Map<String,Object>
getAdditionalProperties()
List<String>
getArgs()
Arguments to the entrypoint.List<String>
getCommand()
Entrypoint array.List<EnvVar>
getEnv()
List of environment variables to set in the container.List<EnvFromSource>
getEnvFrom()
List of sources to populate environment variables in the container.String
getImage()
Container image name.String
getImagePullPolicy()
Image pull policy.Lifecycle
getLifecycle()
A single application container that you want to run within a pod.Probe
getLivenessProbe()
A single application container that you want to run within a pod.String
getName()
Name of the container specified as a DNS_LABEL.List<ContainerPort>
getPorts()
List of ports to expose from the container.Probe
getReadinessProbe()
A single application container that you want to run within a pod.List<ContainerResizePolicy>
getResizePolicy()
Resources resize policy for the container.ResourceRequirements
getResources()
A single application container that you want to run within a pod.String
getRestartPolicy()
RestartPolicy defines the restart behavior of individual containers in a pod.SecurityContext
getSecurityContext()
A single application container that you want to run within a pod.Probe
getStartupProbe()
A single application container that you want to run within a pod.Boolean
getStdin()
Whether this container should allocate a buffer for stdin in the container runtime.Boolean
getStdinOnce()
Whether the container runtime should close the stdin channel after it has been opened by a single attach.String
getTerminationMessagePath()
Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem.String
getTerminationMessagePolicy()
Indicate how the termination message should be populated.Boolean
getTty()
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.List<VolumeDevice>
getVolumeDevices()
volumeDevices is the list of block devices to be used by the container.List<VolumeMount>
getVolumeMounts()
Pod volumes to mount into the container's filesystem.String
getWorkingDir()
Container's working directory.void
setAdditionalProperties(Map<String,Object> additionalProperties)
void
setAdditionalProperty(String name, Object value)
void
setArgs(List<String> args)
Arguments to the entrypoint.void
setCommand(List<String> command)
Entrypoint array.void
setEnv(List<EnvVar> env)
List of environment variables to set in the container.void
setEnvFrom(List<EnvFromSource> envFrom)
List of sources to populate environment variables in the container.void
setImage(String image)
Container image name.void
setImagePullPolicy(String imagePullPolicy)
Image pull policy.void
setLifecycle(Lifecycle lifecycle)
A single application container that you want to run within a pod.void
setLivenessProbe(Probe livenessProbe)
A single application container that you want to run within a pod.void
setName(String name)
Name of the container specified as a DNS_LABEL.void
setPorts(List<ContainerPort> ports)
List of ports to expose from the container.void
setReadinessProbe(Probe readinessProbe)
A single application container that you want to run within a pod.void
setResizePolicy(List<ContainerResizePolicy> resizePolicy)
Resources resize policy for the container.void
setResources(ResourceRequirements resources)
A single application container that you want to run within a pod.void
setRestartPolicy(String restartPolicy)
RestartPolicy defines the restart behavior of individual containers in a pod.void
setSecurityContext(SecurityContext securityContext)
A single application container that you want to run within a pod.void
setStartupProbe(Probe startupProbe)
A single application container that you want to run within a pod.void
setStdin(Boolean stdin)
Whether this container should allocate a buffer for stdin in the container runtime.void
setStdinOnce(Boolean stdinOnce)
Whether the container runtime should close the stdin channel after it has been opened by a single attach.void
setTerminationMessagePath(String terminationMessagePath)
Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem.void
setTerminationMessagePolicy(String terminationMessagePolicy)
Indicate how the termination message should be populated.void
setTty(Boolean tty)
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.void
setVolumeDevices(List<VolumeDevice> volumeDevices)
volumeDevices is the list of block devices to be used by the container.void
setVolumeMounts(List<VolumeMount> volumeMounts)
Pod volumes to mount into the container's filesystem.void
setWorkingDir(String workingDir)
Container's working directory.ContainerBuilder
toBuilder()
-
-
-
Constructor Detail
-
Container
public Container()
No args constructor for use in serialization
-
Container
public Container(List<String> args, List<String> command, List<EnvVar> env, List<EnvFromSource> envFrom, String image, String imagePullPolicy, Lifecycle lifecycle, Probe livenessProbe, String name, List<ContainerPort> ports, Probe readinessProbe, List<ContainerResizePolicy> resizePolicy, ResourceRequirements resources, String restartPolicy, SecurityContext securityContext, Probe startupProbe, Boolean stdin, Boolean stdinOnce, String terminationMessagePath, String terminationMessagePolicy, Boolean tty, List<VolumeDevice> volumeDevices, List<VolumeMount> volumeMounts, String workingDir)
-
-
Method Detail
-
getArgs
public List<String> getArgs()
Arguments to the entrypoint. The container image's CMD 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. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(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
-
setArgs
public void setArgs(List<String> args)
Arguments to the entrypoint. The container image's CMD 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. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(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
-
getCommand
public List<String> getCommand()
Entrypoint array. Not executed within a shell. The container 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. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(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
-
setCommand
public void setCommand(List<String> command)
Entrypoint array. Not executed within a shell. The container 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. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(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
-
getEnv
public List<EnvVar> getEnv()
List of environment variables to set in the container. Cannot be updated.
-
setEnv
public void setEnv(List<EnvVar> env)
List of environment variables to set in the container. Cannot be updated.
-
getEnvFrom
public List<EnvFromSource> getEnvFrom()
List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
-
setEnvFrom
public void setEnvFrom(List<EnvFromSource> envFrom)
List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
-
getImage
public String getImage()
Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
-
setImage
public void setImage(String image)
Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
-
getImagePullPolicy
public String getImagePullPolicy()
Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
-
setImagePullPolicy
public void setImagePullPolicy(String imagePullPolicy)
Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
-
getLifecycle
public Lifecycle getLifecycle()
A single application container that you want to run within a pod.
-
setLifecycle
public void setLifecycle(Lifecycle lifecycle)
A single application container that you want to run within a pod.
-
getLivenessProbe
public Probe getLivenessProbe()
A single application container that you want to run within a pod.
-
setLivenessProbe
public void setLivenessProbe(Probe livenessProbe)
A single application container that you want to run within a pod.
-
getName
public String getName()
Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.
-
setName
public void setName(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.
-
getPorts
public List<ContainerPort> getPorts()
List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.
-
setPorts
public void setPorts(List<ContainerPort> ports)
List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.
-
getReadinessProbe
public Probe getReadinessProbe()
A single application container that you want to run within a pod.
-
setReadinessProbe
public void setReadinessProbe(Probe readinessProbe)
A single application container that you want to run within a pod.
-
getResizePolicy
public List<ContainerResizePolicy> getResizePolicy()
Resources resize policy for the container.
-
setResizePolicy
public void setResizePolicy(List<ContainerResizePolicy> resizePolicy)
Resources resize policy for the container.
-
getResources
public ResourceRequirements getResources()
A single application container that you want to run within a pod.
-
setResources
public void setResources(ResourceRequirements resources)
A single application container that you want to run within a pod.
-
getRestartPolicy
public String getRestartPolicy()
RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.
-
setRestartPolicy
public void setRestartPolicy(String restartPolicy)
RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.
-
getSecurityContext
public SecurityContext getSecurityContext()
A single application container that you want to run within a pod.
-
setSecurityContext
public void setSecurityContext(SecurityContext securityContext)
A single application container that you want to run within a pod.
-
getStartupProbe
public Probe getStartupProbe()
A single application container that you want to run within a pod.
-
setStartupProbe
public void setStartupProbe(Probe startupProbe)
A single application container that you want to run within a pod.
-
getStdin
public Boolean getStdin()
Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.
-
setStdin
public void setStdin(Boolean stdin)
Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.
-
getStdinOnce
public Boolean getStdinOnce()
Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false
-
setStdinOnce
public void setStdinOnce(Boolean stdinOnce)
Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false
-
getTerminationMessagePath
public String getTerminationMessagePath()
Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.
-
setTerminationMessagePath
public void setTerminationMessagePath(String terminationMessagePath)
Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.
-
getTerminationMessagePolicy
public String getTerminationMessagePolicy()
Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-
setTerminationMessagePolicy
public void setTerminationMessagePolicy(String terminationMessagePolicy)
Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-
getTty
public Boolean getTty()
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.
-
setTty
public void setTty(Boolean tty)
Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.
-
getVolumeDevices
public List<VolumeDevice> getVolumeDevices()
volumeDevices is the list of block devices to be used by the container.
-
setVolumeDevices
public void setVolumeDevices(List<VolumeDevice> volumeDevices)
volumeDevices is the list of block devices to be used by the container.
-
getVolumeMounts
public List<VolumeMount> getVolumeMounts()
Pod volumes to mount into the container's filesystem. Cannot be updated.
-
setVolumeMounts
public void setVolumeMounts(List<VolumeMount> volumeMounts)
Pod volumes to mount into the container's filesystem. Cannot be updated.
-
getWorkingDir
public String getWorkingDir()
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.
-
setWorkingDir
public void setWorkingDir(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.
-
edit
public ContainerBuilder edit()
- Specified by:
edit
in interfaceio.fabric8.kubernetes.api.builder.Editable<ContainerBuilder>
-
toBuilder
public ContainerBuilder toBuilder()
-
-