Class Container
Container runnable.
Implements
Inherited Members
Namespace: Google.Apis.Batch.v1.Data
Assembly: Google.Apis.Batch.v1.dll
Syntax
public class Container : IDirectResponseSchema
Properties
BlockExternalNetwork
If set to true, external network access to and from container will be blocked, containers that are with
block_external_network as true can still communicate with each other, network cannot be specified in the
container.options field.
Declaration
[JsonProperty("blockExternalNetwork")]
public virtual bool? BlockExternalNetwork { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Commands
Required for some container images. Overrides the CMD specified in the container. If there is an
ENTRYPOINT (either in the container image or with the entrypoint field below) then these commands are
appended as arguments to the ENTRYPOINT.
Declaration
[JsonProperty("commands")]
public virtual IList<string> Commands { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
EnableImageStreaming
Optional. If set to true, this container runnable uses Image streaming. Use Image streaming to allow the
runnable to initialize without waiting for the entire container image to download, which can significantly
reduce startup time for large container images. When enableImageStreaming is set to true, the container
runtime is containerd instead of Docker. Additionally, this container runnable
only supports the following container subfields: imageUri, commands[], entrypoint, and volumes[];
any other container subfields are ignored. For more information about the requirements and limitations for
using Image streaming with Batch, see the image-streaming sample on
GitHub.
Declaration
[JsonProperty("enableImageStreaming")]
public virtual bool? EnableImageStreaming { get; set; }
Property Value
| Type | Description |
|---|---|
| bool? |
Entrypoint
Required for some container images. Overrides the ENTRYPOINT specified in the container.
Declaration
[JsonProperty("entrypoint")]
public virtual string Entrypoint { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ImageUri
Required. The URI to pull the container image from.
Declaration
[JsonProperty("imageUri")]
public virtual string ImageUri { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Options
Required for some container images. Arbitrary additional options to include in the docker run command when
running this container—for example, --network host. For the --volume option, use the volumes field for
the container.
Declaration
[JsonProperty("options")]
public virtual string Options { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Password
Required if the container image is from a private Docker registry. The password to login to the Docker
registry that contains the image. For security, it is strongly recommended to specify an encrypted password
by using a Secret Manager secret: projects/*/secrets/*/versions/*. Warning: If you specify the password
using plain text, you risk the password being exposed to any users who can view the job or its logs. To
avoid this risk, specify a secret that contains the password instead. Learn more about Secret
Manager and using Secret Manager with
Batch.
Declaration
[JsonProperty("password")]
public virtual string Password { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Username
Required if the container image is from a private Docker registry. The username to login to the Docker
registry that contains the image. You can either specify the username directly by using plain text or
specify an encrypted username by using a Secret Manager secret: projects/*/secrets/*/versions/*. However,
using a secret is recommended for enhanced security. Caution: If you specify the username using plain text,
you risk the username being exposed to any users who can view the job or its logs. To avoid this risk,
specify a secret that contains the username instead. Learn more about Secret
Manager and using Secret Manager with
Batch.
Declaration
[JsonProperty("username")]
public virtual string Username { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Volumes
Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to
match --volume option for the docker run command—for example, /foo:/bar or /foo:/bar:ro. If the
TaskSpec.Volumes field is specified but this field is not, Batch will mount each volume from the host
machine to the container with the same mount path by default. In this case, the default mount option for
containers will be read-only (ro) for existing persistent disks and read-write (rw) for other volume
types, regardless of the original mount options specified in TaskSpec.Volumes. If you need different mount
settings, you can explicitly configure them in this field.
Declaration
[JsonProperty("volumes")]
public virtual IList<string> Volumes { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |