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.
924 925 926 |
# File 'lib/google/apis/batch_v1/classes.rb', line 924 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
841 842 843 |
# File 'lib/google/apis/batch_v1/classes.rb', line 841 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
849 850 851 |
# File 'lib/google/apis/batch_v1/classes.rb', line 849 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
864 865 866 |
# File 'lib/google/apis/batch_v1/classes.rb', line 864 def enable_image_streaming @enable_image_streaming end |
#entrypoint ⇒ String
Overrides the ENTRYPOINT specified in the container.
Corresponds to the JSON property entrypoint
870 871 872 |
# File 'lib/google/apis/batch_v1/classes.rb', line 870 def entrypoint @entrypoint end |
#image_uri ⇒ String
The URI to pull the container image from.
Corresponds to the JSON property imageUri
875 876 877 |
# File 'lib/google/apis/batch_v1/classes.rb', line 875 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
881 882 883 |
# File 'lib/google/apis/batch_v1/classes.rb', line 881 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
894 895 896 |
# File 'lib/google/apis/batch_v1/classes.rb', line 894 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
909 910 911 |
# File 'lib/google/apis/batch_v1/classes.rb', line 909 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
922 923 924 |
# File 'lib/google/apis/batch_v1/classes.rb', line 922 def volumes @volumes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
929 930 931 932 933 934 935 936 937 938 939 |
# File 'lib/google/apis/batch_v1/classes.rb', line 929 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 |