Class: Google::Apis::RunV1::Container

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/run_v1/classes.rb,
lib/google/apis/run_v1/representations.rb,
lib/google/apis/run_v1/representations.rb

Overview

A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Container

Returns a new instance of Container.



660
661
662
# File 'lib/google/apis/run_v1/classes.rb', line 660

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#argsArray<String>

Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references are not supported in Cloud Run. Corresponds to the JSON property args

Returns:

  • (Array<String>)


548
549
550
# File 'lib/google/apis/run_v1/classes.rb', line 548

def args
  @args
end

#commandArray<String>

Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run. Corresponds to the JSON property command

Returns:

  • (Array<String>)


555
556
557
# File 'lib/google/apis/run_v1/classes.rb', line 555

def command
  @command
end

#envArray<Google::Apis::RunV1::EnvVar>

List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one. Corresponds to the JSON property env

Returns:



563
564
565
# File 'lib/google/apis/run_v1/classes.rb', line 563

def env
  @env
end

#env_fromArray<Google::Apis::RunV1::EnvFromSource>

Not supported by Cloud Run. Corresponds to the JSON property envFrom



568
569
570
# File 'lib/google/apis/run_v1/classes.rb', line 568

def env_from
  @env_from
end

#imageString

Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed. Corresponds to the JSON property image

Returns:

  • (String)


575
576
577
# File 'lib/google/apis/run_v1/classes.rb', line 575

def image
  @image
end

#image_pull_policyString

Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if : latest tag is specified, or IfNotPresent otherwise. Corresponds to the JSON property imagePullPolicy

Returns:

  • (String)


581
582
583
# File 'lib/google/apis/run_v1/classes.rb', line 581

def image_pull_policy
  @image_pull_policy
end

#liveness_probeGoogle::Apis::RunV1::Probe

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. Corresponds to the JSON property livenessProbe



587
588
589
# File 'lib/google/apis/run_v1/classes.rb', line 587

def liveness_probe
  @liveness_probe
end

#nameString

Name of the container specified as a DNS_LABEL (RFC 1123). Corresponds to the JSON property name

Returns:

  • (String)


592
593
594
# File 'lib/google/apis/run_v1/classes.rb', line 592

def name
  @name
end

#portsArray<Google::Apis::RunV1::ContainerPort>

List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on. Corresponds to the JSON property ports



601
602
603
# File 'lib/google/apis/run_v1/classes.rb', line 601

def ports
  @ports
end

#readiness_probeGoogle::Apis::RunV1::Probe

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. Corresponds to the JSON property readinessProbe



607
608
609
# File 'lib/google/apis/run_v1/classes.rb', line 607

def readiness_probe
  @readiness_probe
end

#resourcesGoogle::Apis::RunV1::ResourceRequirements

ResourceRequirements describes the compute resource requirements. Corresponds to the JSON property resources



612
613
614
# File 'lib/google/apis/run_v1/classes.rb', line 612

def resources
  @resources
end

#security_contextGoogle::Apis::RunV1::SecurityContext

Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. Corresponds to the JSON property securityContext



620
621
622
# File 'lib/google/apis/run_v1/classes.rb', line 620

def security_context
  @security_context
end

#startup_probeGoogle::Apis::RunV1::Probe

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. Corresponds to the JSON property startupProbe



626
627
628
# File 'lib/google/apis/run_v1/classes.rb', line 626

def startup_probe
  @startup_probe
end

#termination_message_pathString

Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination- log. Corresponds to the JSON property terminationMessagePath

Returns:

  • (String)


636
637
638
# File 'lib/google/apis/run_v1/classes.rb', line 636

def termination_message_path
  @termination_message_path
end

#termination_message_policyString

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. Corresponds to the JSON property terminationMessagePolicy

Returns:

  • (String)


646
647
648
# File 'lib/google/apis/run_v1/classes.rb', line 646

def termination_message_policy
  @termination_message_policy
end

#volume_mountsArray<Google::Apis::RunV1::VolumeMount>

Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container's filesystem. Corresponds to the JSON property volumeMounts



652
653
654
# File 'lib/google/apis/run_v1/classes.rb', line 652

def volume_mounts
  @volume_mounts
end

#working_dirString

Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Corresponds to the JSON property workingDir

Returns:

  • (String)


658
659
660
# File 'lib/google/apis/run_v1/classes.rb', line 658

def working_dir
  @working_dir
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
# File 'lib/google/apis/run_v1/classes.rb', line 665

def update!(**args)
  @args = args[:args] if args.key?(:args)
  @command = args[:command] if args.key?(:command)
  @env = args[:env] if args.key?(:env)
  @env_from = args[:env_from] if args.key?(:env_from)
  @image = args[:image] if args.key?(:image)
  @image_pull_policy = args[:image_pull_policy] if args.key?(:image_pull_policy)
  @liveness_probe = args[:liveness_probe] if args.key?(:liveness_probe)
  @name = args[:name] if args.key?(:name)
  @ports = args[:ports] if args.key?(:ports)
  @readiness_probe = args[:readiness_probe] if args.key?(:readiness_probe)
  @resources = args[:resources] if args.key?(:resources)
  @security_context = args[:security_context] if args.key?(:security_context)
  @startup_probe = args[:startup_probe] if args.key?(:startup_probe)
  @termination_message_path = args[:termination_message_path] if args.key?(:termination_message_path)
  @termination_message_policy = args[:termination_message_policy] if args.key?(:termination_message_policy)
  @volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
  @working_dir = args[:working_dir] if args.key?(:working_dir)
end