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>
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
--volumeoption for thedocker runcommand—for example,/foo:/baror/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.
954 955 956 |
# File 'lib/google/apis/batch_v1/classes.rb', line 954 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
867 868 869 |
# File 'lib/google/apis/batch_v1/classes.rb', line 867 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
876 877 878 |
# File 'lib/google/apis/batch_v1/classes.rb', line 876 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
891 892 893 |
# File 'lib/google/apis/batch_v1/classes.rb', line 891 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
898 899 900 |
# File 'lib/google/apis/batch_v1/classes.rb', line 898 def entrypoint @entrypoint end |
#image_uri ⇒ String
Required. The URI to pull the container image from.
Corresponds to the JSON property imageUri
903 904 905 |
# File 'lib/google/apis/batch_v1/classes.rb', line 903 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
910 911 912 |
# File 'lib/google/apis/batch_v1/classes.rb', line 910 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
923 924 925 |
# File 'lib/google/apis/batch_v1/classes.rb', line 923 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
938 939 940 |
# File 'lib/google/apis/batch_v1/classes.rb', line 938 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
952 953 954 |
# File 'lib/google/apis/batch_v1/classes.rb', line 952 def volumes @volumes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
959 960 961 962 963 964 965 966 967 968 969 |
# File 'lib/google/apis/batch_v1/classes.rb', line 959 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 |