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



746
747
748
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 746

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


567
568
569
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 567

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


583
584
585
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 583

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



590
591
592
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 590

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



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

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)


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

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)


617
618
619
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 617

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



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

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



632
633
634
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 632

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)


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

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



651
652
653
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 651

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



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

def readiness_probe
  @readiness_probe
end

#resourcesGoogle::Apis::RunV1alpha1::ResourceRequirements

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



662
663
664
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 662

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



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

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)


677
678
679
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 677

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)


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

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)


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

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)


714
715
716
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 714

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)


720
721
722
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 720

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



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

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



735
736
737
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 735

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)


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

def working_dir
  @working_dir
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 751

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