Google Cloud Batch V1 Client - Class Container (0.17.0)

Reference documentation and code samples for the Google Cloud Batch V1 Client class Container.

Container runnable.

Generated from protobuf message google.cloud.batch.v1.Runnable.Container

Namespace

Google \ Cloud \ Batch \ V1 \ Runnable

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ image_uri string

The URI to pull the container image from.

↳ commands array

Overrides the CMD specified in the container. If there is an ENTRYPOINT (either in the container image or with the entrypoint field below) then commands are appended as arguments to the ENTRYPOINT.

↳ entrypoint string

Overrides the ENTRYPOINT specified in the container.

↳ volumes array

Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match docker run's --volume option, e.g. /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.

↳ options string

Arbitrary additional options to include in the "docker run" command when running this container, e.g. "--network host".

↳ block_external_network bool

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.

↳ username string

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.

↳ password string

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.

↳ enable_image_streaming bool

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.

getImageUri

The URI to pull the container image from.

Returns
Type Description
string

setImageUri

The URI to pull the container image from.

Parameter
Name Description
var string
Returns
Type Description
$this

getCommands

Overrides the CMD specified in the container. If there is an ENTRYPOINT (either in the container image or with the entrypoint field below) then commands are appended as arguments to the ENTRYPOINT.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setCommands

Overrides the CMD specified in the container. If there is an ENTRYPOINT (either in the container image or with the entrypoint field below) then commands are appended as arguments to the ENTRYPOINT.

Parameter
Name Description
var string[]
Returns
Type Description
$this

getEntrypoint

Overrides the ENTRYPOINT specified in the container.

Returns
Type Description
string

setEntrypoint

Overrides the ENTRYPOINT specified in the container.

Parameter
Name Description
var string
Returns
Type Description
$this

getVolumes

Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match docker run's --volume option, e.g. /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.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setVolumes

Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match docker run's --volume option, e.g. /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.

Parameter
Name Description
var string[]
Returns
Type Description
$this

getOptions

Arbitrary additional options to include in the "docker run" command when running this container, e.g. "--network host".

Returns
Type Description
string

setOptions

Arbitrary additional options to include in the "docker run" command when running this container, e.g. "--network host".

Parameter
Name Description
var string
Returns
Type Description
$this

getBlockExternalNetwork

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.

Returns
Type Description
bool

setBlockExternalNetwork

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.

Parameter
Name Description
var bool
Returns
Type Description
$this

getUsername

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.

Returns
Type Description
string

setUsername

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getPassword

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.

Returns
Type Description
string

setPassword

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.

Parameter
Name Description
var string
Returns
Type Description
$this

getEnableImageStreaming

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.

Returns
Type Description
bool

setEnableImageStreaming

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.

Parameter
Name Description
var bool
Returns
Type Description
$this