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.



1228
1229
1230
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1228

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


1049
1050
1051
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1049

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


1065
1066
1067
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1065

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



1072
1073
1074
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1072

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



1082
1083
1084
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1082

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)


1088
1089
1090
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1088

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)


1099
1100
1101
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1099

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



1108
1109
1110
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1108

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



1114
1115
1116
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1114

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)


1121
1122
1123
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1121

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



1133
1134
1135
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1133

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



1139
1140
1141
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1139

def readiness_probe
  @readiness_probe
end

#resourcesGoogle::Apis::RunV1alpha1::ResourceRequirements

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



1144
1145
1146
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1144

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



1152
1153
1154
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1152

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)


1159
1160
1161
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1159

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)


1172
1173
1174
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1172

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)


1185
1186
1187
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1185

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)


1196
1197
1198
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1196

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)


1202
1203
1204
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1202

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



1210
1211
1212
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1210

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



1217
1218
1219
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1217

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)


1226
1227
1228
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1226

def working_dir
  @working_dir
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
# File 'generated/google/apis/run_v1alpha1/classes.rb', line 1233

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