Class: Google::Apis::RunV1alpha1::Container

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/run_v1alpha1/classes.rb,
generated/google/apis/run_v1alpha1/representations.rb,
generated/google/apis/run_v1alpha1/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

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Container

Returns a new instance of Container



786
787
788
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 786

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 $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command- argument-container/#running-a-command-in-a-shell +optional Corresponds to the JSON property args

Returns:

  • (Array<String>)


607
608
609
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 607

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 $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command- argument-container/#running-a-command-in-a-shell +optional Corresponds to the JSON property command

Returns:

  • (Array<String>)


623
624
625
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 623

def command
  @command
end

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

List of environment variables to set in the container. Cannot be updated. +optional Corresponds to the JSON property env



630
631
632
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 630

def env
  @env
end

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

List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional Corresponds to the JSON property envFrom



640
641
642
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 640

def env_from
  @env_from
end

#imageString

Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images Corresponds to the JSON property image

Returns:

  • (String)


646
647
648
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 646

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. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional Corresponds to the JSON property imagePullPolicy

Returns:

  • (String)


657
658
659
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 657

def image_pull_policy
  @image_pull_policy
end

#lifecycleGoogle::Apis::RunV1alpha1::Lifecycle

Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. Corresponds to the JSON property lifecycle



666
667
668
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 666

def lifecycle
  @lifecycle
end

#liveness_probeGoogle::Apis::RunV1alpha1::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



672
673
674
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 672

def liveness_probe
  @liveness_probe
end

#nameString

Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated. Corresponds to the JSON property name

Returns:

  • (String)


679
680
681
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 679

def name
  @name
end

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

List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated. +optional Corresponds to the JSON property ports



691
692
693
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 691

def ports
  @ports
end

#readiness_probeGoogle::Apis::RunV1alpha1::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



697
698
699
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 697

def readiness_probe
  @readiness_probe
end

#resourcesGoogle::Apis::RunV1alpha1::ResourceRequirements

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



702
703
704
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 702

def resources
  @resources
end

#security_contextGoogle::Apis::RunV1alpha1::SecurityContext

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



710
711
712
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 710

def security_context
  @security_context
end

#stdinBoolean Also known as: stdin?

Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional Corresponds to the JSON property stdin

Returns:

  • (Boolean)


717
718
719
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 717

def stdin
  @stdin
end

#stdin_onceBoolean Also known as: stdin_once?

Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional Corresponds to the JSON property stdinOnce

Returns:

  • (Boolean)


730
731
732
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 730

def stdin_once
  @stdin_once
end

#termination_message_pathString

Optional: 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. Cannot be updated. +optional Corresponds to the JSON property terminationMessagePath

Returns:

  • (String)


743
744
745
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 743

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. +optional Corresponds to the JSON property terminationMessagePolicy

Returns:

  • (String)


754
755
756
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 754

def termination_message_policy
  @termination_message_policy
end

#ttyBoolean Also known as: tty?

Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. +optional Corresponds to the JSON property tty

Returns:

  • (Boolean)


760
761
762
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 760

def tty
  @tty
end

#volume_devicesArray<Google::Apis::RunV1alpha1::VolumeDevice>

volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional Corresponds to the JSON property volumeDevices



768
769
770
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 768

def volume_devices
  @volume_devices
end

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

Pod volumes to mount into the container's filesystem. Cannot be updated. +optional Corresponds to the JSON property volumeMounts



775
776
777
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 775

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. Cannot be updated. +optional Corresponds to the JSON property workingDir

Returns:

  • (String)


784
785
786
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 784

def working_dir
  @working_dir
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 791

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)
  @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
  @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)
  @stdin = args[:stdin] if args.key?(:stdin)
  @stdin_once = args[:stdin_once] if args.key?(:stdin_once)
  @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)
  @tty = args[:tty] if args.key?(:tty)
  @volume_devices = args[:volume_devices] if args.key?(:volume_devices)
  @volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
  @working_dir = args[:working_dir] if args.key?(:working_dir)
end