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.optionsfield. -
#commands ⇒ Array<String>
Overrides the
CMDspecified in the container. -
#enable_image_streaming ⇒ Boolean
(also: #enable_image_streaming?)
Optional.
-
#entrypoint ⇒ String
Overrides the
ENTRYPOINTspecified in the container. -
#image_uri ⇒ String
The URI to pull the container image from.
-
#options ⇒ String
Arbitrary additional options to include in the "docker run" command when running this container, e.g.
-
#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 docker run's --volume option, e.g.
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.
913 914 915 |
# File 'lib/google/apis/batch_v1/classes.rb', line 913 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
830 831 832 |
# File 'lib/google/apis/batch_v1/classes.rb', line 830 def block_external_network @block_external_network end |
#commands ⇒ Array<String>
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.
Corresponds to the JSON property commands
838 839 840 |
# File 'lib/google/apis/batch_v1/classes.rb', line 838 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
853 854 855 |
# File 'lib/google/apis/batch_v1/classes.rb', line 853 def enable_image_streaming @enable_image_streaming end |
#entrypoint ⇒ String
Overrides the ENTRYPOINT specified in the container.
Corresponds to the JSON property entrypoint
859 860 861 |
# File 'lib/google/apis/batch_v1/classes.rb', line 859 def entrypoint @entrypoint end |
#image_uri ⇒ String
The URI to pull the container image from.
Corresponds to the JSON property imageUri
864 865 866 |
# File 'lib/google/apis/batch_v1/classes.rb', line 864 def image_uri @image_uri end |
#options ⇒ String
Arbitrary additional options to include in the "docker run" command when
running this container, e.g. "--network host".
Corresponds to the JSON property options
870 871 872 |
# File 'lib/google/apis/batch_v1/classes.rb', line 870 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
883 884 885 |
# File 'lib/google/apis/batch_v1/classes.rb', line 883 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
898 899 900 |
# File 'lib/google/apis/batch_v1/classes.rb', line 898 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 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.
Corresponds to the JSON property volumes
911 912 913 |
# File 'lib/google/apis/batch_v1/classes.rb', line 911 def volumes @volumes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
918 919 920 921 922 923 924 925 926 927 928 |
# File 'lib/google/apis/batch_v1/classes.rb', line 918 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 |