Class: Google::Apis::BatchV1::Container
- Inherits:
-
Object
- Object
- Google::Apis::BatchV1::Container
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/batch_v1/classes.rb,
lib/google/apis/batch_v1/representations.rb,
lib/google/apis/batch_v1/representations.rb
Overview
Container runnable.
Instance Attribute Summary collapse
-
#block_external_network ⇒ Boolean
(also: #block_external_network?)
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. -
#commands ⇒ Array<String>
Required for some container images.
-
#enable_image_streaming ⇒ Boolean
(also: #enable_image_streaming?)
Optional.
-
#entrypoint ⇒ String
Required for some container images.
-
#image_uri ⇒ String
Required.
-
#options ⇒ String
Required for some container images.
-
#password ⇒ String
Required if the container image is from a private Docker registry.
-
#username ⇒ String
Required if the container image is from a private Docker registry.
-
#volumes ⇒ Array<String>
Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match
--volume
option for thedocker run
command—for example,/foo:/bar
or/foo:/bar:ro
.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Container
constructor
A new instance of Container.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Container
Returns a new instance of Container.
957 958 959 |
# File 'lib/google/apis/batch_v1/classes.rb', line 957 def initialize(**args) update!(**args) end |
Instance Attribute Details
#block_external_network ⇒ Boolean Also known as: block_external_network?
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.
Corresponds to the JSON property blockExternalNetwork
870 871 872 |
# File 'lib/google/apis/batch_v1/classes.rb', line 870 def block_external_network @block_external_network end |
#commands ⇒ Array<String>
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
.
Corresponds to the JSON property commands
879 880 881 |
# File 'lib/google/apis/batch_v1/classes.rb', line 879 def commands @commands end |
#enable_image_streaming ⇒ Boolean Also known as: enable_image_streaming?
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.
Corresponds to the JSON property enableImageStreaming
894 895 896 |
# File 'lib/google/apis/batch_v1/classes.rb', line 894 def enable_image_streaming @enable_image_streaming end |
#entrypoint ⇒ String
Required for some container images. Overrides the ENTRYPOINT
specified in
the container.
Corresponds to the JSON property entrypoint
901 902 903 |
# File 'lib/google/apis/batch_v1/classes.rb', line 901 def entrypoint @entrypoint end |
#image_uri ⇒ String
Required. The URI to pull the container image from.
Corresponds to the JSON property imageUri
906 907 908 |
# File 'lib/google/apis/batch_v1/classes.rb', line 906 def image_uri @image_uri end |
#options ⇒ String
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.
Corresponds to the JSON property options
913 914 915 |
# File 'lib/google/apis/batch_v1/classes.rb', line 913 def @options end |
#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.
Corresponds to the JSON property password
926 927 928 |
# File 'lib/google/apis/batch_v1/classes.rb', line 926 def password @password end |
#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.
Corresponds to the JSON property username
941 942 943 |
# File 'lib/google/apis/batch_v1/classes.rb', line 941 def username @username end |
#volumes ⇒ Array<String>
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.
Corresponds to the JSON property volumes
955 956 957 |
# File 'lib/google/apis/batch_v1/classes.rb', line 955 def volumes @volumes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
962 963 964 965 966 967 968 969 970 971 972 |
# File 'lib/google/apis/batch_v1/classes.rb', line 962 def update!(**args) @block_external_network = args[:block_external_network] if args.key?(:block_external_network) @commands = args[:commands] if args.key?(:commands) @enable_image_streaming = args[:enable_image_streaming] if args.key?(:enable_image_streaming) @entrypoint = args[:entrypoint] if args.key?(:entrypoint) @image_uri = args[:image_uri] if args.key?(:image_uri) @options = args[:options] if args.key?(:options) @password = args[:password] if args.key?(:password) @username = args[:username] if args.key?(:username) @volumes = args[:volumes] if args.key?(:volumes) end |