Class: Google::Apis::BatchV1::Container

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_networkBoolean 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

Returns:

  • (Boolean)


830
831
832
# File 'lib/google/apis/batch_v1/classes.rb', line 830

def block_external_network
  @block_external_network
end

#commandsArray<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

Returns:

  • (Array<String>)


838
839
840
# File 'lib/google/apis/batch_v1/classes.rb', line 838

def commands
  @commands
end

#enable_image_streamingBoolean 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

Returns:

  • (Boolean)


853
854
855
# File 'lib/google/apis/batch_v1/classes.rb', line 853

def enable_image_streaming
  @enable_image_streaming
end

#entrypointString

Overrides the ENTRYPOINT specified in the container. Corresponds to the JSON property entrypoint

Returns:

  • (String)


859
860
861
# File 'lib/google/apis/batch_v1/classes.rb', line 859

def entrypoint
  @entrypoint
end

#image_uriString

The URI to pull the container image from. Corresponds to the JSON property imageUri

Returns:

  • (String)


864
865
866
# File 'lib/google/apis/batch_v1/classes.rb', line 864

def image_uri
  @image_uri
end

#optionsString

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

Returns:

  • (String)


870
871
872
# File 'lib/google/apis/batch_v1/classes.rb', line 870

def options
  @options
end

#passwordString

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

Returns:

  • (String)


883
884
885
# File 'lib/google/apis/batch_v1/classes.rb', line 883

def password
  @password
end

#usernameString

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

Returns:

  • (String)


898
899
900
# File 'lib/google/apis/batch_v1/classes.rb', line 898

def username
  @username
end

#volumesArray<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

Returns:

  • (Array<String>)


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