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.



867
868
869
# File 'lib/google/apis/batch_v1/classes.rb', line 867

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)


803
804
805
# File 'lib/google/apis/batch_v1/classes.rb', line 803

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


811
812
813
# File 'lib/google/apis/batch_v1/classes.rb', line 811

def commands
  @commands
end

#enable_image_streamingBoolean Also known as: enable_image_streaming?

Optional. If set to true, container will run with Image streaming. The container runtime will be changed to containerd instead of docker. Currently, only imageUri, commands, entrypoint and volumes are supported and any other fields will be ignored. Please refer here for the feature requirements and limitations. Corresponds to the JSON property enableImageStreaming

Returns:

  • (Boolean)


821
822
823
# File 'lib/google/apis/batch_v1/classes.rb', line 821

def enable_image_streaming
  @enable_image_streaming
end

#entrypointString

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

Returns:

  • (String)


827
828
829
# File 'lib/google/apis/batch_v1/classes.rb', line 827

def entrypoint
  @entrypoint
end

#image_uriString

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

Returns:

  • (String)


832
833
834
# File 'lib/google/apis/batch_v1/classes.rb', line 832

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)


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

def options
  @options
end

#passwordString

Optional password for logging in to a docker registry. If password matches projects/*/secrets/*/versions/* then Batch will read the password from the Secret Manager; Corresponds to the JSON property password

Returns:

  • (String)


845
846
847
# File 'lib/google/apis/batch_v1/classes.rb', line 845

def password
  @password
end

#usernameString

Optional username for logging in to a docker registry. If username matches projects/*/secrets/*/versions/* then Batch will read the username from the Secret Manager. Corresponds to the JSON property username

Returns:

  • (String)


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

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


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

def volumes
  @volumes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



872
873
874
875
876
877
878
879
880
881
882
# File 'lib/google/apis/batch_v1/classes.rb', line 872

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