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



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

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


576
577
578
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 576

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


592
593
594
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 592

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



599
600
601
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 599

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



609
610
611
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 609

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)


615
616
617
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 615

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)


626
627
628
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 626

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



635
636
637
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 635

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



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

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)


648
649
650
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 648

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



660
661
662
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 660

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



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

def readiness_probe
  @readiness_probe
end

#resourcesGoogle::Apis::RunV1alpha1::ResourceRequirements

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



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

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



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

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)


686
687
688
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 686

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)


699
700
701
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 699

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)


712
713
714
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 712

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)


723
724
725
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 723

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)


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

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



737
738
739
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 737

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



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

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)


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

def working_dir
  @working_dir
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 760

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