blob: 7ffb91cc225875ee8dd21eb031b3f0ffdac33326 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="run_v1alpha1.html">Cloud Run API</a> . <a href="run_v1alpha1.namespaces.html">namespaces</a> . <a href="run_v1alpha1.namespaces.configurations.html">configurations</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
79<p class="firstline">Rpc to get information about a configuration.</p>
80<p class="toc_element">
81 <code><a href="#list">list(parent, labelSelector=None, includeUninitialized=None, x__xgafv=None, resourceVersion=None, limit=None, watch=None, continue=None, fieldSelector=None)</a></code></p>
82<p class="firstline">Rpc to list configurations.</p>
83<h3>Method Details</h3>
84<div class="method">
85 <code class="details" id="get">get(name, x__xgafv=None)</code>
86 <pre>Rpc to get information about a configuration.
87
88Args:
89 name: string, The name of the configuration being retrieved. If needed, replace
90{namespace_id} with the project ID. (required)
91 x__xgafv: string, V1 error format.
92 Allowed values
93 1 - v1 error format
94 2 - v2 error format
95
96Returns:
97 An object of the form:
98
99 { # Configuration represents the "floating HEAD" of a linear history of
100 # Revisions, and optionally how the containers those revisions reference are
101 # built. Users create new Revisions by updating the Configuration's spec. The
102 # "latest created" revision's name is available under status, as is the "latest
103 # ready" revision's name. See also:
104 # https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
105 "status": { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
106 # controller).
107 # (from the controller).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700108 "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Configuration that
109 # was last processed by the controller. The observed generation is updated
110 # even if the controller failed to process the spec and create the Revision.
111 #
112 # Clients polling for completed reconciliation should poll until
113 # observedGeneration = metadata.generation, and the Ready condition's status
114 # is True or False.
Dan O'Mearadd494642020-05-01 07:42:23 -0700115 "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
116 # Configuration. It might not be ready yet, for that use
117 # LatestReadyRevisionName.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700118 "conditions": [ # Conditions communicates information about ongoing/complete
119 # reconciliation processes that bring the "spec" inline with the observed
120 # state of the world.
121 { # ConfigurationCondition defines a readiness condition for a Configuration.
122 "status": "A String", # Status of the condition, one of True, False, Unknown.
123 "severity": "A String", # How to interpret failures of this condition, one of Error, Warning, Info
124 # +optional
125 "lastTransitionTime": "A String", # Last time the condition transitioned from one status to another.
126 # +optional
127 "reason": "A String", # One-word CamelCase reason for the condition's last transition.
128 # +optional
129 "message": "A String", # Human-readable message indicating details about last transition.
130 # +optional
131 "type": "A String", # ConfigurationConditionType is used to communicate the status of the
132 # reconciliation process. See also:
133 # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
134 # Types include:"Ready"
135 },
136 ],
137 "latestReadyRevisionName": "A String", # LatestReadyRevisionName holds the name of the latest Revision stamped out
138 # from this Configuration that has had its "Ready" condition become "True".
139 },
140 "kind": "A String", # The kind of resource, in this case always "Configuration".
141 "spec": { # ConfigurationSpec holds the desired state of the Configuration (from the # Spec holds the desired state of the Configuration (from the client).
142 # client).
143 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
144 # metadata.generation instead, which is the sequence number containing the
145 # latest generation of the desired state.
146 #
147 # Read-only.
148 "revisionTemplate": { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
149 # be stamped out. The template references the container image, and may also
150 # include labels and annotations that should be attached to the Revision.
151 # To correlate a Revision, and/or to force a Revision to be created when the
152 # spec doesn't otherwise change, a nonce label may be provided in the
153 # template metadata. For more details, see:
154 # https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions
155 #
156 # Cloud Run does not currently support referencing a build that is
157 # responsible for materializing the container image from source.
158 # from a template. Based on:
159 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
160 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
161 "container": { # A single application container. # Container defines the unit of execution for this Revision.
162 # In the context of a Revision, we disallow a number of the fields of
163 # this Container, including: name, ports, and volumeMounts.
164 # The runtime contract is documented here:
165 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
166 # This specifies both the container to run, the command to run in the container
167 # and the arguments to supply to it.
168 # Note that additional arguments may be supplied by the system to the container
169 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -0700170 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
171 # Container will be restarted if the probe fails.
172 # Cannot be updated.
173 # More info:
174 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
175 # +optional
176 # determine whether it is alive or ready to receive traffic.
177 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
178 # Defaults to 1 second. Minimum value is 1.
179 # More info:
180 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
181 # +optional
182 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
183 # are initiated. More info:
184 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
185 # +optional
186 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
187 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
188 # TCP hooks not yet supported
189 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
190 # +optional
191 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
192 # Number must be in the range 1 to 65535.
193 # Name must be an IANA_SVC_NAME.
194 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
195 # inner type. This allows you to have, for example, a JSON field that can
196 # accept a name or number.
197 "strVal": "A String", # The string value.
198 "type": 42, # The type of the value.
199 "intVal": 42, # The int value.
200 },
201 },
202 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
203 # +optional
204 "path": "A String", # Path to access on the HTTP server.
205 # +optional
206 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
207 # "Host" in httpHeaders instead.
208 # +optional
209 "scheme": "A String", # Scheme to use for connecting to the host.
210 # Defaults to HTTP.
211 # +optional
212 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
213 # Number must be in the range 1 to 65535.
214 # Name must be an IANA_SVC_NAME.
215 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
216 # inner type. This allows you to have, for example, a JSON field that can
217 # accept a name or number.
218 "strVal": "A String", # The string value.
219 "type": 42, # The type of the value.
220 "intVal": 42, # The int value.
221 },
222 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
223 # +optional
224 { # HTTPHeader describes a custom header to be used in HTTP probes
225 "name": "A String", # The header field name
226 "value": "A String", # The header field value
227 },
228 ],
229 },
230 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
231 # Exec specifies the action to take.
232 # +optional
233 "command": "A String", # Command is the command line to execute inside the container, the working
234 # directory for the command is root ('/') in the container's filesystem. The
235 # command is simply exec'd, it is not run inside a shell, so traditional
236 # shell instructions ('|', etc) won't work. To use a shell, you need to
237 # explicitly call out to that shell. Exit status of 0 is treated as
238 # live/healthy and non-zero is unhealthy. +optional
239 },
240 },
241 "periodSeconds": 42, # How often (in seconds) to perform the probe.
242 # Default to 10 seconds. Minimum value is 1.
243 # +optional
244 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
245 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
246 # is 1. +optional
247 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
248 # having succeeded. Defaults to 3. Minimum value is 1. +optional
249 },
250 "args": [ # Arguments to the entrypoint.
251 # The docker image's CMD is used if this is not provided.
252 # Variable references $(VAR_NAME) are expanded using the container's
253 # environment. If a variable cannot be resolved, the reference in the input
254 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
255 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
256 # regardless of whether the variable exists or not.
257 # Cannot be updated.
258 # More info:
259 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
260 # +optional
261 "A String",
262 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700263 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
264 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
265 # More info:
266 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
267 # +optional
268 # container. Some fields are present in both SecurityContext and
269 # PodSecurityContext. When both are set, the values in SecurityContext take
270 # precedence.
271 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
272 # Default is false.
273 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700274 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700275 # Uses runtime default if unset.
276 # May also be set in PodSecurityContext. If set in both SecurityContext and
277 # PodSecurityContext, the value specified in SecurityContext takes
278 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700279 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
280 # privileges than its parent process. This bool directly controls if
281 # the no_new_privs flag will be set on the container process.
282 # AllowPrivilegeEscalation is true always when the container is:
283 # 1) run as Privileged
284 # 2) has CAP_SYS_ADMIN
285 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700286 "runAsUser": 42, # The UID to run the entrypoint of the container process.
287 # Defaults to user specified in image metadata if unspecified.
288 # May also be set in PodSecurityContext. If set in both SecurityContext and
289 # PodSecurityContext, the value specified in SecurityContext takes
290 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700291 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
292 # Defaults to the default set of capabilities granted by the container
293 # runtime. +optional
294 "add": [ # Added capabilities
295 # +optional
296 "A String",
297 ],
298 "drop": [ # Removed capabilities
299 # +optional
300 "A String",
301 ],
302 },
303 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
304 # If true, the Kubelet will validate the image at runtime to ensure that it
305 # does not run as UID 0 (root) and fail to start the container if it does.
306 # If unset or false, no such validation will be performed.
307 # May also be set in PodSecurityContext. If set in both SecurityContext and
308 # PodSecurityContext, the value specified in SecurityContext takes
309 # precedence. +optional
310 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
311 # If unspecified, the container runtime will allocate a random SELinux
312 # context for each container. May also be set in PodSecurityContext. If set
313 # in both SecurityContext and PodSecurityContext, the value specified in
314 # SecurityContext takes precedence. +optional
315 "role": "A String", # Role is a SELinux role label that applies to the container.
316 # +optional
317 "type": "A String", # Type is a SELinux type label that applies to the container.
318 # +optional
319 "user": "A String", # User is a SELinux user label that applies to the container.
320 # +optional
321 "level": "A String", # Level is SELinux level label that applies to the container.
322 # +optional
323 },
324 "privileged": True or False, # Run container in privileged mode.
325 # Processes in privileged containers are essentially equivalent to root on
326 # the host. Defaults to false. +optional
327 },
328 "name": "A String", # Name of the container specified as a DNS_LABEL.
329 # Each container must have a unique name (DNS_LABEL).
330 # Cannot be updated.
331 "envFrom": [ # List of sources to populate environment variables in the container.
332 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
333 # will be reported as an event when the container is starting. When a key
334 # exists in multiple sources, the value associated with the last source will
335 # take precedence. Values defined by an Env with a duplicate key will take
336 # precedence. Cannot be updated. +optional
337 { # EnvFromSource represents the source of a set of ConfigMaps
338 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
339 # +optional
340 # variables with.
341 #
342 # The contents of the target Secret's Data field will represent the
343 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -0700344 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
345 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700346 # referenced object inside the same namespace.
347 "name": "A String", # Name of the referent.
348 # More info:
349 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
350 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700351 "optional": True or False, # Cloud Run fully managed: not supported
352 #
353 # Cloud Run for Anthos: supported
354 #
355 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700356 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700357 "name": "A String", # Cloud Run fully managed: not supported
358 #
359 # Cloud Run for Anthos: supported
360 #
361 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700362 },
363 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
364 # +optional
365 # variables with.
366 #
367 # The contents of the target ConfigMap's Data field will represent the
368 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -0700369 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
370 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700371 # referenced object inside the same namespace.
372 "name": "A String", # Name of the referent.
373 # More info:
374 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
375 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700376 "optional": True or False, # Cloud Run fully managed: not supported
377 #
378 # Cloud Run for Anthos: supported
379 #
380 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700381 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700382 "name": "A String", # Cloud Run fully managed: not supported
383 #
384 # Cloud Run for Anthos: supported
385 #
386 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700387 },
388 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
389 # C_IDENTIFIER. +optional
390 },
391 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700392 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
393 # been opened by a single attach. When stdin is true the stdin stream will
394 # remain open across multiple attach sessions. If stdinOnce is set to true,
395 # stdin is opened on container start, is empty until the first client
396 # attaches to stdin, and then remains open and accepts data until the client
397 # disconnects, at which time stdin is closed and remains closed until the
398 # container is restarted. If this flag is false, a container processes that
399 # reads from stdin will never receive an EOF. Default is false +optional
400 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
401 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700402 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700403 { # volumeDevice describes a mapping of a raw block device within a container.
404 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
405 # mapped to.
406 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700407 },
408 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700409 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
410 # runtime. If this is not set, reads from stdin in the container will always
411 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700412 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
413 # Cannot be updated.
414 # +optional
415 { # VolumeMount describes a mounting of a Volume within a container.
416 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
417 # Defaults to false.
418 # +optional
419 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
420 # to container and the other way around.
421 # When not set, MountPropagationHostToContainer is used.
422 # This field is beta in 1.10.
423 # +optional
424 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
425 # Defaults to "" (volume's root).
426 # +optional
427 "name": "A String", # This must match the Name of a Volume.
428 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
429 # not contain ':'.
430 },
431 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700432 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
433 # 'stdin' to be true. Default is false. +optional
434 "ports": [ # List of ports to expose from the container. Exposing a port here gives
435 # the system additional information about the network connections a
436 # container uses, but is primarily informational. Not specifying a port here
437 # DOES NOT prevent that port from being exposed. Any port which is
438 # listening on the default "0.0.0.0" address inside a container will be
439 # accessible from the network.
440 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700441 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700442 { # ContainerPort represents a network port in a single container.
443 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
444 # Defaults to "TCP".
445 # +optional
446 "hostIP": "A String", # What host IP to bind the external port to.
447 # +optional
448 "containerPort": 42, # Number of port to expose on the pod's IP address.
449 # This must be a valid port number, 0 &lt; x &lt; 65536.
450 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
451 # named port in a pod must have a unique name. Name for the port that can be
452 # referred to by services.
453 # +optional
454 "hostPort": 42, # Number of port to expose on the host.
455 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
456 # If HostNetwork is specified, this must match ContainerPort.
457 # Most containers do not need this.
458 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700459 },
460 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700461 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
462 # contents of terminationMessagePath to populate the container status message
463 # on both success and failure. FallbackToLogsOnError will use the last chunk
464 # of container log output if the termination message file is empty and the
465 # container exited with an error. The log output is limited to 2048 bytes or
466 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
467 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700468 "command": [ # Entrypoint array. Not executed within a shell.
469 # The docker image's ENTRYPOINT is used if this is not provided.
470 # Variable references $(VAR_NAME) are expanded using the container's
471 # environment. If a variable cannot be resolved, the reference in the input
472 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
473 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
474 # regardless of whether the variable exists or not.
475 # Cannot be updated.
476 # More info:
477 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
478 # +optional
479 "A String",
480 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700481 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700482 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700483 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700484 { # EnvVar represents an environment variable present in a Container.
485 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
486 #
487 # Cloud Run on GKE: supported
488 #
489 # Source for the environment variable's value. Cannot be used if value is not
490 # empty. +optional
491 #
492 # Cloud Run on GKE: supported
493 #
494 # EnvVarSource represents a source for the value of an EnvVar.
495 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
496 #
497 # Cloud Run on GKE: supported
498 #
499 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700500 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700501 #
502 # Cloud Run on GKE: supported
503 #
504 # SecretKeySelector selects a key of a Secret.
505 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
506 # directly into the message. Use the "name" field instead.
507 # referenced object inside the same namespace.
508 "name": "A String", # Name of the referent.
509 # More info:
510 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700511 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700512 "optional": True or False, # Cloud Run fully managed: not supported
513 #
514 # Cloud Run on GKE: supported
515 #
516 # Specify whether the Secret or its key must be defined
517 # +optional
518 "name": "A String", # Cloud Run fully managed: not supported
519 #
520 # Cloud Run on GKE: supported
521 #
522 # The name of the secret in the pod's namespace to select from.
523 "key": "A String", # Cloud Run fully managed: not supported
524 #
525 # Cloud Run on GKE: supported
526 #
527 # The key of the secret to select from. Must be a valid secret key.
528 },
529 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
530 #
531 # Cloud Run on GKE: supported
532 #
533 # Selects a key of a ConfigMap.
534 # +optional
535 #
536 # Cloud Run on GKE: supported
537 #
538 # Selects a key from a ConfigMap.
539 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
540 # directly into the message. Use the "name" field instead.
541 # referenced object inside the same namespace.
542 "name": "A String", # Name of the referent.
543 # More info:
544 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
545 },
546 "optional": True or False, # Cloud Run fully managed: not supported
547 #
548 # Cloud Run on GKE: supported
549 #
550 # Specify whether the ConfigMap or its key must be defined
551 # +optional
552 "name": "A String", # Cloud Run fully managed: not supported
553 #
554 # Cloud Run on GKE: supported
555 #
556 # The ConfigMap to select from.
557 "key": "A String", # Cloud Run fully managed: not supported
558 #
559 # Cloud Run on GKE: supported
560 #
561 # The key to select.
562 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700563 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700564 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
565 "value": "A String", # Variable references $(VAR_NAME) are expanded
566 # using the previous defined environment variables in the container and
567 # any route environment variables. If a variable cannot be resolved,
568 # the reference in the input string will be unchanged. The $(VAR_NAME)
569 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
570 # references will never be expanded, regardless of whether the variable
571 # exists or not.
572 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700573 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700574 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700575 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700576 "imagePullPolicy": "A String", # Image pull policy.
577 # One of Always, Never, IfNotPresent.
578 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
579 # Cannot be updated.
580 # More info:
581 # https://kubernetes.io/docs/concepts/containers/images#updating-images
582 # +optional
583 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
584 # Container will be removed from service endpoints if the probe fails.
585 # Cannot be updated.
586 # More info:
587 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
588 # +optional
589 # determine whether it is alive or ready to receive traffic.
590 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
591 # Defaults to 1 second. Minimum value is 1.
592 # More info:
593 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
594 # +optional
595 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
596 # are initiated. More info:
597 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
598 # +optional
599 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
600 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
601 # TCP hooks not yet supported
602 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
603 # +optional
604 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
605 # Number must be in the range 1 to 65535.
606 # Name must be an IANA_SVC_NAME.
607 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
608 # inner type. This allows you to have, for example, a JSON field that can
609 # accept a name or number.
610 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -0700611 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700612 "intVal": 42, # The int value.
613 },
614 },
615 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
616 # +optional
617 "path": "A String", # Path to access on the HTTP server.
618 # +optional
619 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
620 # "Host" in httpHeaders instead.
621 # +optional
622 "scheme": "A String", # Scheme to use for connecting to the host.
623 # Defaults to HTTP.
624 # +optional
625 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
626 # Number must be in the range 1 to 65535.
627 # Name must be an IANA_SVC_NAME.
628 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
629 # inner type. This allows you to have, for example, a JSON field that can
630 # accept a name or number.
631 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -0700632 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700633 "intVal": 42, # The int value.
634 },
635 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
636 # +optional
637 { # HTTPHeader describes a custom header to be used in HTTP probes
638 "name": "A String", # The header field name
639 "value": "A String", # The header field value
640 },
641 ],
642 },
643 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
644 # Exec specifies the action to take.
645 # +optional
646 "command": "A String", # Command is the command line to execute inside the container, the working
647 # directory for the command is root ('/') in the container's filesystem. The
648 # command is simply exec'd, it is not run inside a shell, so traditional
649 # shell instructions ('|', etc) won't work. To use a shell, you need to
650 # explicitly call out to that shell. Exit status of 0 is treated as
651 # live/healthy and non-zero is unhealthy. +optional
652 },
653 },
654 "periodSeconds": 42, # How often (in seconds) to perform the probe.
655 # Default to 10 seconds. Minimum value is 1.
656 # +optional
657 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
658 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
659 # is 1. +optional
660 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
661 # having succeeded. Defaults to 3. Minimum value is 1. +optional
662 },
663 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
664 # message will be written is mounted into the container's filesystem. Message
665 # written is intended to be brief final status, such as an assertion failure
666 # message. Will be truncated by the node if greater than 4096 bytes. The
667 # total message length across all containers will be limited to 12kb.
668 # Defaults to /dev/termination-log.
669 # Cannot be updated.
670 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700671 "image": "A String", # Docker image name.
672 # More info: https://kubernetes.io/docs/concepts/containers/images
673 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
674 # lifecycle events. Cannot be updated. +optional
675 # response to container lifecycle events. For the PostStart and PreStop
676 # lifecycle handlers, management of the container blocks until the action is
677 # complete, unless the container process fails, in which case the handler is
678 # aborted.
679 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
680 # The container is terminated after the handler completes.
681 # The reason for termination is passed to the handler.
682 # Regardless of the outcome of the handler, the container is eventually
683 # terminated. Other management of the container blocks until the hook
684 # completes. More info:
685 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
686 # +optional
687 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
688 # TCP hooks not yet supported
689 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
690 # +optional
691 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
692 # Number must be in the range 1 to 65535.
693 # Name must be an IANA_SVC_NAME.
694 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
695 # inner type. This allows you to have, for example, a JSON field that can
696 # accept a name or number.
697 "strVal": "A String", # The string value.
698 "type": 42, # The type of the value.
699 "intVal": 42, # The int value.
700 },
701 },
702 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700703 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700704 "path": "A String", # Path to access on the HTTP server.
705 # +optional
706 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
707 # "Host" in httpHeaders instead.
708 # +optional
709 "scheme": "A String", # Scheme to use for connecting to the host.
710 # Defaults to HTTP.
711 # +optional
712 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
713 # Number must be in the range 1 to 65535.
714 # Name must be an IANA_SVC_NAME.
715 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
716 # inner type. This allows you to have, for example, a JSON field that can
717 # accept a name or number.
718 "strVal": "A String", # The string value.
719 "type": 42, # The type of the value.
720 "intVal": 42, # The int value.
721 },
722 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
723 # +optional
724 { # HTTPHeader describes a custom header to be used in HTTP probes
725 "name": "A String", # The header field name
726 "value": "A String", # The header field value
727 },
728 ],
729 },
730 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
731 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700732 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700733 "command": "A String", # Command is the command line to execute inside the container, the working
734 # directory for the command is root ('/') in the container's filesystem. The
735 # command is simply exec'd, it is not run inside a shell, so traditional
736 # shell instructions ('|', etc) won't work. To use a shell, you need to
737 # explicitly call out to that shell. Exit status of 0 is treated as
738 # live/healthy and non-zero is unhealthy. +optional
739 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700740 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700741 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
742 # handler fails, the container is terminated and restarted according to its
743 # restart policy. Other management of the container blocks until the hook
744 # completes. More info:
745 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
746 # +optional
747 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
748 # TCP hooks not yet supported
749 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
750 # +optional
751 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
752 # Number must be in the range 1 to 65535.
753 # Name must be an IANA_SVC_NAME.
754 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
755 # inner type. This allows you to have, for example, a JSON field that can
756 # accept a name or number.
757 "strVal": "A String", # The string value.
758 "type": 42, # The type of the value.
759 "intVal": 42, # The int value.
760 },
761 },
762 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
763 # +optional
764 "path": "A String", # Path to access on the HTTP server.
765 # +optional
766 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
767 # "Host" in httpHeaders instead.
768 # +optional
769 "scheme": "A String", # Scheme to use for connecting to the host.
770 # Defaults to HTTP.
771 # +optional
772 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
773 # Number must be in the range 1 to 65535.
774 # Name must be an IANA_SVC_NAME.
775 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
776 # inner type. This allows you to have, for example, a JSON field that can
777 # accept a name or number.
778 "strVal": "A String", # The string value.
779 "type": 42, # The type of the value.
780 "intVal": 42, # The int value.
781 },
782 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
783 # +optional
784 { # HTTPHeader describes a custom header to be used in HTTP probes
785 "name": "A String", # The header field name
786 "value": "A String", # The header field value
787 },
788 ],
789 },
790 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
791 # Exec specifies the action to take.
792 # +optional
793 "command": "A String", # Command is the command line to execute inside the container, the working
794 # directory for the command is root ('/') in the container's filesystem. The
795 # command is simply exec'd, it is not run inside a shell, so traditional
796 # shell instructions ('|', etc) won't work. To use a shell, you need to
797 # explicitly call out to that shell. Exit status of 0 is treated as
798 # live/healthy and non-zero is unhealthy. +optional
799 },
800 },
801 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700802 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
803 # Cannot be updated.
804 # More info:
805 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
806 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -0700807 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
808 # This is a temporary field created to migrate away from the
809 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
810 # with k8s style API.
811 # This field is deprecated in favor of limits field.
812 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
813 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
814 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
815 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700816 },
817 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
818 # If Requests is omitted for a container, it defaults to Limits if that is
819 # explicitly specified, otherwise to an implementation-defined value.
820 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -0700821 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700822 # with k8s style API.
823 # This field is deprecated in favor of requests field.
824 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
825 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
826 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
827 },
828 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700829 "requests": { # Requests describes the minimum amount of compute resources required.
830 # If Requests is omitted for a container, it defaults to Limits if that is
831 # explicitly specified, otherwise to an implementation-defined value.
832 # The values of the map is string form of the 'quantity' k8s type:
833 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
834 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700835 },
836 "limits": { # Limits describes the maximum amount of compute resources allowed.
837 # The values of the map is string form of the 'quantity' k8s type:
838 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
839 "a_key": "A String",
840 },
841 },
842 "workingDir": "A String", # Container's working directory.
843 # If not specified, the container runtime's default will be used, which
844 # might be configured in the container image.
845 # Cannot be updated.
846 # +optional
847 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700848 "volumes": [
849 { # Volume represents a named volume in a container.
850 "configMap": { # Adapts a ConfigMap into a volume.
851 # The contents of the target ConfigMap's Data field will be presented in a
852 # volume as files using the keys in the Data field as the file names, unless
853 # the items element is populated with specific mappings of keys to paths.
854 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
855 # Secret will be projected into the volume as a file whose name is the
856 # key and content is the value. If specified, the listed keys will be
857 # projected into the specified paths, and unlisted keys will not be
858 # present. If a key is specified which is not present in the Secret,
859 # the volume setup will error unless it is marked optional.
860 { # Maps a string key to a path within a volume.
861 "path": "A String", # The relative path of the file to map the key to.
862 # May not be an absolute path.
863 # May not contain the path element '..'.
864 # May not start with the string '..'.
865 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
866 # specified, the volume defaultMode will be used. This might be in conflict
867 # with other options that affect the file mode, like fsGroup, and the result
868 # can be other mode bits set. +optional
869 "key": "A String", # The key to project.
870 },
871 ],
872 "optional": True or False, # Specify whether the Secret or its keys must be defined.
873 "name": "A String", # Name of the config.
874 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
875 # 0777. Defaults to 0644. Directories within the path are not affected by
876 # this setting. This might be in conflict with other options that affect the
877 # file mode, like fsGroup, and the result can be other mode bits set.
878 },
879 "secret": { # The contents of the target Secret's Data field will be presented in a volume
880 # as files using the keys in the Data field as the file names.
881 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
882 # Secret will be projected into the volume as a file whose name is the
883 # key and content is the value. If specified, the listed keys will be
884 # projected into the specified paths, and unlisted keys will not be
885 # present. If a key is specified which is not present in the Secret,
886 # the volume setup will error unless it is marked optional.
887 { # Maps a string key to a path within a volume.
888 "path": "A String", # The relative path of the file to map the key to.
889 # May not be an absolute path.
890 # May not contain the path element '..'.
891 # May not start with the string '..'.
892 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
893 # specified, the volume defaultMode will be used. This might be in conflict
894 # with other options that affect the file mode, like fsGroup, and the result
895 # can be other mode bits set. +optional
896 "key": "A String", # The key to project.
897 },
898 ],
899 "optional": True or False, # Specify whether the Secret or its keys must be defined.
900 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
901 # 0777. Defaults to 0644. Directories within the path are not affected by
902 # this setting. This might be in conflict with other options that affect the
903 # file mode, like fsGroup, and the result can be other mode bits set.
904 "secretName": "A String", # Name of the secret in the container's namespace to use.
905 },
906 "name": "A String", # Volume's name.
907 },
908 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700909 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
910 # responding to a request.
911 # Not currently used by Cloud Run.
912 "servingState": "A String", # ServingState holds a value describing the state the resources
913 # are in for this Revision.
914 # Users must not specify this when creating a revision. It is expected
915 # that the system will manipulate this based on routability and load.
916 #
917 # Populated by the system.
918 # Read-only.
919 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
920 # metadata.generation instead, which is the sequence number containing the
921 # latest generation of the desired state.
922 #
923 # Read-only.
924 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
925 # (Single or Multi) for the Revision. Defaults to Multi.
926 # Deprecated in favor of ContainerConcurrency.
927 # +optional
928 "containerConcurrency": 42, # (Optional)
929 #
930 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
931 # requests per container instance of the Revision.
932 #
933 # Cloud Run fully managed: supported, defaults to 80
934 #
935 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
936 # to the application is not limited, and the system decides the
937 # target concurrency for the autoscaler.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700938 "containers": [ # Containers holds the single container that defines the unit of execution
939 # for this Revision. In the context of a Revision, we disallow a number of
940 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -0700941 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700942 { # A single application container.
943 # This specifies both the container to run, the command to run in the container
944 # and the arguments to supply to it.
945 # Note that additional arguments may be supplied by the system to the container
946 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -0700947 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
948 # Container will be restarted if the probe fails.
949 # Cannot be updated.
950 # More info:
951 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
952 # +optional
953 # determine whether it is alive or ready to receive traffic.
954 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
955 # Defaults to 1 second. Minimum value is 1.
956 # More info:
957 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
958 # +optional
959 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
960 # are initiated. More info:
961 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
962 # +optional
963 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
964 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
965 # TCP hooks not yet supported
966 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
967 # +optional
968 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
969 # Number must be in the range 1 to 65535.
970 # Name must be an IANA_SVC_NAME.
971 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
972 # inner type. This allows you to have, for example, a JSON field that can
973 # accept a name or number.
974 "strVal": "A String", # The string value.
975 "type": 42, # The type of the value.
976 "intVal": 42, # The int value.
977 },
978 },
979 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
980 # +optional
981 "path": "A String", # Path to access on the HTTP server.
982 # +optional
983 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
984 # "Host" in httpHeaders instead.
985 # +optional
986 "scheme": "A String", # Scheme to use for connecting to the host.
987 # Defaults to HTTP.
988 # +optional
989 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
990 # Number must be in the range 1 to 65535.
991 # Name must be an IANA_SVC_NAME.
992 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
993 # inner type. This allows you to have, for example, a JSON field that can
994 # accept a name or number.
995 "strVal": "A String", # The string value.
996 "type": 42, # The type of the value.
997 "intVal": 42, # The int value.
998 },
999 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1000 # +optional
1001 { # HTTPHeader describes a custom header to be used in HTTP probes
1002 "name": "A String", # The header field name
1003 "value": "A String", # The header field value
1004 },
1005 ],
1006 },
1007 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1008 # Exec specifies the action to take.
1009 # +optional
1010 "command": "A String", # Command is the command line to execute inside the container, the working
1011 # directory for the command is root ('/') in the container's filesystem. The
1012 # command is simply exec'd, it is not run inside a shell, so traditional
1013 # shell instructions ('|', etc) won't work. To use a shell, you need to
1014 # explicitly call out to that shell. Exit status of 0 is treated as
1015 # live/healthy and non-zero is unhealthy. +optional
1016 },
1017 },
1018 "periodSeconds": 42, # How often (in seconds) to perform the probe.
1019 # Default to 10 seconds. Minimum value is 1.
1020 # +optional
1021 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1022 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1023 # is 1. +optional
1024 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1025 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1026 },
1027 "args": [ # Arguments to the entrypoint.
1028 # The docker image's CMD is used if this is not provided.
1029 # Variable references $(VAR_NAME) are expanded using the container's
1030 # environment. If a variable cannot be resolved, the reference in the input
1031 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1032 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1033 # regardless of whether the variable exists or not.
1034 # Cannot be updated.
1035 # More info:
1036 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1037 # +optional
1038 "A String",
1039 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001040 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
1041 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
1042 # More info:
1043 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1044 # +optional
1045 # container. Some fields are present in both SecurityContext and
1046 # PodSecurityContext. When both are set, the values in SecurityContext take
1047 # precedence.
1048 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
1049 # Default is false.
1050 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001051 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001052 # Uses runtime default if unset.
1053 # May also be set in PodSecurityContext. If set in both SecurityContext and
1054 # PodSecurityContext, the value specified in SecurityContext takes
1055 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001056 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
1057 # privileges than its parent process. This bool directly controls if
1058 # the no_new_privs flag will be set on the container process.
1059 # AllowPrivilegeEscalation is true always when the container is:
1060 # 1) run as Privileged
1061 # 2) has CAP_SYS_ADMIN
1062 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001063 "runAsUser": 42, # The UID to run the entrypoint of the container process.
1064 # Defaults to user specified in image metadata if unspecified.
1065 # May also be set in PodSecurityContext. If set in both SecurityContext and
1066 # PodSecurityContext, the value specified in SecurityContext takes
1067 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001068 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
1069 # Defaults to the default set of capabilities granted by the container
1070 # runtime. +optional
1071 "add": [ # Added capabilities
1072 # +optional
1073 "A String",
1074 ],
1075 "drop": [ # Removed capabilities
1076 # +optional
1077 "A String",
1078 ],
1079 },
1080 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
1081 # If true, the Kubelet will validate the image at runtime to ensure that it
1082 # does not run as UID 0 (root) and fail to start the container if it does.
1083 # If unset or false, no such validation will be performed.
1084 # May also be set in PodSecurityContext. If set in both SecurityContext and
1085 # PodSecurityContext, the value specified in SecurityContext takes
1086 # precedence. +optional
1087 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
1088 # If unspecified, the container runtime will allocate a random SELinux
1089 # context for each container. May also be set in PodSecurityContext. If set
1090 # in both SecurityContext and PodSecurityContext, the value specified in
1091 # SecurityContext takes precedence. +optional
1092 "role": "A String", # Role is a SELinux role label that applies to the container.
1093 # +optional
1094 "type": "A String", # Type is a SELinux type label that applies to the container.
1095 # +optional
1096 "user": "A String", # User is a SELinux user label that applies to the container.
1097 # +optional
1098 "level": "A String", # Level is SELinux level label that applies to the container.
1099 # +optional
1100 },
1101 "privileged": True or False, # Run container in privileged mode.
1102 # Processes in privileged containers are essentially equivalent to root on
1103 # the host. Defaults to false. +optional
1104 },
1105 "name": "A String", # Name of the container specified as a DNS_LABEL.
1106 # Each container must have a unique name (DNS_LABEL).
1107 # Cannot be updated.
1108 "envFrom": [ # List of sources to populate environment variables in the container.
1109 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
1110 # will be reported as an event when the container is starting. When a key
1111 # exists in multiple sources, the value associated with the last source will
1112 # take precedence. Values defined by an Env with a duplicate key will take
1113 # precedence. Cannot be updated. +optional
1114 { # EnvFromSource represents the source of a set of ConfigMaps
1115 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
1116 # +optional
1117 # variables with.
1118 #
1119 # The contents of the target Secret's Data field will represent the
1120 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07001121 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1122 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001123 # referenced object inside the same namespace.
1124 "name": "A String", # Name of the referent.
1125 # More info:
1126 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1127 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001128 "optional": True or False, # Cloud Run fully managed: not supported
1129 #
1130 # Cloud Run for Anthos: supported
1131 #
1132 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001133 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001134 "name": "A String", # Cloud Run fully managed: not supported
1135 #
1136 # Cloud Run for Anthos: supported
1137 #
1138 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001139 },
1140 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
1141 # +optional
1142 # variables with.
1143 #
1144 # The contents of the target ConfigMap's Data field will represent the
1145 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07001146 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1147 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001148 # referenced object inside the same namespace.
1149 "name": "A String", # Name of the referent.
1150 # More info:
1151 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1152 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001153 "optional": True or False, # Cloud Run fully managed: not supported
1154 #
1155 # Cloud Run for Anthos: supported
1156 #
1157 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001158 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001159 "name": "A String", # Cloud Run fully managed: not supported
1160 #
1161 # Cloud Run for Anthos: supported
1162 #
1163 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001164 },
1165 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
1166 # C_IDENTIFIER. +optional
1167 },
1168 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001169 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
1170 # been opened by a single attach. When stdin is true the stdin stream will
1171 # remain open across multiple attach sessions. If stdinOnce is set to true,
1172 # stdin is opened on container start, is empty until the first client
1173 # attaches to stdin, and then remains open and accepts data until the client
1174 # disconnects, at which time stdin is closed and remains closed until the
1175 # container is restarted. If this flag is false, a container processes that
1176 # reads from stdin will never receive an EOF. Default is false +optional
1177 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
1178 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001179 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001180 { # volumeDevice describes a mapping of a raw block device within a container.
1181 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
1182 # mapped to.
1183 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001184 },
1185 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001186 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
1187 # runtime. If this is not set, reads from stdin in the container will always
1188 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001189 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
1190 # Cannot be updated.
1191 # +optional
1192 { # VolumeMount describes a mounting of a Volume within a container.
1193 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
1194 # Defaults to false.
1195 # +optional
1196 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
1197 # to container and the other way around.
1198 # When not set, MountPropagationHostToContainer is used.
1199 # This field is beta in 1.10.
1200 # +optional
1201 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
1202 # Defaults to "" (volume's root).
1203 # +optional
1204 "name": "A String", # This must match the Name of a Volume.
1205 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
1206 # not contain ':'.
1207 },
1208 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001209 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
1210 # 'stdin' to be true. Default is false. +optional
1211 "ports": [ # List of ports to expose from the container. Exposing a port here gives
1212 # the system additional information about the network connections a
1213 # container uses, but is primarily informational. Not specifying a port here
1214 # DOES NOT prevent that port from being exposed. Any port which is
1215 # listening on the default "0.0.0.0" address inside a container will be
1216 # accessible from the network.
1217 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001218 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001219 { # ContainerPort represents a network port in a single container.
1220 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
1221 # Defaults to "TCP".
1222 # +optional
1223 "hostIP": "A String", # What host IP to bind the external port to.
1224 # +optional
1225 "containerPort": 42, # Number of port to expose on the pod's IP address.
1226 # This must be a valid port number, 0 &lt; x &lt; 65536.
1227 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
1228 # named port in a pod must have a unique name. Name for the port that can be
1229 # referred to by services.
1230 # +optional
1231 "hostPort": 42, # Number of port to expose on the host.
1232 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
1233 # If HostNetwork is specified, this must match ContainerPort.
1234 # Most containers do not need this.
1235 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001236 },
1237 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001238 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
1239 # contents of terminationMessagePath to populate the container status message
1240 # on both success and failure. FallbackToLogsOnError will use the last chunk
1241 # of container log output if the termination message file is empty and the
1242 # container exited with an error. The log output is limited to 2048 bytes or
1243 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1244 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001245 "command": [ # Entrypoint array. Not executed within a shell.
1246 # The docker image's ENTRYPOINT is used if this is not provided.
1247 # Variable references $(VAR_NAME) are expanded using the container's
1248 # environment. If a variable cannot be resolved, the reference in the input
1249 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1250 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1251 # regardless of whether the variable exists or not.
1252 # Cannot be updated.
1253 # More info:
1254 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1255 # +optional
1256 "A String",
1257 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001258 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001259 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001260 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001261 { # EnvVar represents an environment variable present in a Container.
1262 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1263 #
1264 # Cloud Run on GKE: supported
1265 #
1266 # Source for the environment variable's value. Cannot be used if value is not
1267 # empty. +optional
1268 #
1269 # Cloud Run on GKE: supported
1270 #
1271 # EnvVarSource represents a source for the value of an EnvVar.
1272 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1273 #
1274 # Cloud Run on GKE: supported
1275 #
1276 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001277 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001278 #
1279 # Cloud Run on GKE: supported
1280 #
1281 # SecretKeySelector selects a key of a Secret.
1282 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1283 # directly into the message. Use the "name" field instead.
1284 # referenced object inside the same namespace.
1285 "name": "A String", # Name of the referent.
1286 # More info:
1287 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001288 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001289 "optional": True or False, # Cloud Run fully managed: not supported
1290 #
1291 # Cloud Run on GKE: supported
1292 #
1293 # Specify whether the Secret or its key must be defined
1294 # +optional
1295 "name": "A String", # Cloud Run fully managed: not supported
1296 #
1297 # Cloud Run on GKE: supported
1298 #
1299 # The name of the secret in the pod's namespace to select from.
1300 "key": "A String", # Cloud Run fully managed: not supported
1301 #
1302 # Cloud Run on GKE: supported
1303 #
1304 # The key of the secret to select from. Must be a valid secret key.
1305 },
1306 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1307 #
1308 # Cloud Run on GKE: supported
1309 #
1310 # Selects a key of a ConfigMap.
1311 # +optional
1312 #
1313 # Cloud Run on GKE: supported
1314 #
1315 # Selects a key from a ConfigMap.
1316 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1317 # directly into the message. Use the "name" field instead.
1318 # referenced object inside the same namespace.
1319 "name": "A String", # Name of the referent.
1320 # More info:
1321 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1322 },
1323 "optional": True or False, # Cloud Run fully managed: not supported
1324 #
1325 # Cloud Run on GKE: supported
1326 #
1327 # Specify whether the ConfigMap or its key must be defined
1328 # +optional
1329 "name": "A String", # Cloud Run fully managed: not supported
1330 #
1331 # Cloud Run on GKE: supported
1332 #
1333 # The ConfigMap to select from.
1334 "key": "A String", # Cloud Run fully managed: not supported
1335 #
1336 # Cloud Run on GKE: supported
1337 #
1338 # The key to select.
1339 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001340 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001341 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
1342 "value": "A String", # Variable references $(VAR_NAME) are expanded
1343 # using the previous defined environment variables in the container and
1344 # any route environment variables. If a variable cannot be resolved,
1345 # the reference in the input string will be unchanged. The $(VAR_NAME)
1346 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
1347 # references will never be expanded, regardless of whether the variable
1348 # exists or not.
1349 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001350 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001351 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001352 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001353 "imagePullPolicy": "A String", # Image pull policy.
1354 # One of Always, Never, IfNotPresent.
1355 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
1356 # Cannot be updated.
1357 # More info:
1358 # https://kubernetes.io/docs/concepts/containers/images#updating-images
1359 # +optional
1360 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
1361 # Container will be removed from service endpoints if the probe fails.
1362 # Cannot be updated.
1363 # More info:
1364 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1365 # +optional
1366 # determine whether it is alive or ready to receive traffic.
1367 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1368 # Defaults to 1 second. Minimum value is 1.
1369 # More info:
1370 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1371 # +optional
1372 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1373 # are initiated. More info:
1374 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1375 # +optional
1376 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1377 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1378 # TCP hooks not yet supported
1379 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1380 # +optional
1381 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
1382 # Number must be in the range 1 to 65535.
1383 # Name must be an IANA_SVC_NAME.
1384 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1385 # inner type. This allows you to have, for example, a JSON field that can
1386 # accept a name or number.
1387 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07001388 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001389 "intVal": 42, # The int value.
1390 },
1391 },
1392 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1393 # +optional
1394 "path": "A String", # Path to access on the HTTP server.
1395 # +optional
1396 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1397 # "Host" in httpHeaders instead.
1398 # +optional
1399 "scheme": "A String", # Scheme to use for connecting to the host.
1400 # Defaults to HTTP.
1401 # +optional
1402 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
1403 # Number must be in the range 1 to 65535.
1404 # Name must be an IANA_SVC_NAME.
1405 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1406 # inner type. This allows you to have, for example, a JSON field that can
1407 # accept a name or number.
1408 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07001409 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001410 "intVal": 42, # The int value.
1411 },
1412 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1413 # +optional
1414 { # HTTPHeader describes a custom header to be used in HTTP probes
1415 "name": "A String", # The header field name
1416 "value": "A String", # The header field value
1417 },
1418 ],
1419 },
1420 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1421 # Exec specifies the action to take.
1422 # +optional
1423 "command": "A String", # Command is the command line to execute inside the container, the working
1424 # directory for the command is root ('/') in the container's filesystem. The
1425 # command is simply exec'd, it is not run inside a shell, so traditional
1426 # shell instructions ('|', etc) won't work. To use a shell, you need to
1427 # explicitly call out to that shell. Exit status of 0 is treated as
1428 # live/healthy and non-zero is unhealthy. +optional
1429 },
1430 },
1431 "periodSeconds": 42, # How often (in seconds) to perform the probe.
1432 # Default to 10 seconds. Minimum value is 1.
1433 # +optional
1434 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1435 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1436 # is 1. +optional
1437 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1438 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1439 },
1440 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
1441 # message will be written is mounted into the container's filesystem. Message
1442 # written is intended to be brief final status, such as an assertion failure
1443 # message. Will be truncated by the node if greater than 4096 bytes. The
1444 # total message length across all containers will be limited to 12kb.
1445 # Defaults to /dev/termination-log.
1446 # Cannot be updated.
1447 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001448 "image": "A String", # Docker image name.
1449 # More info: https://kubernetes.io/docs/concepts/containers/images
1450 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1451 # lifecycle events. Cannot be updated. +optional
1452 # response to container lifecycle events. For the PostStart and PreStop
1453 # lifecycle handlers, management of the container blocks until the action is
1454 # complete, unless the container process fails, in which case the handler is
1455 # aborted.
1456 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1457 # The container is terminated after the handler completes.
1458 # The reason for termination is passed to the handler.
1459 # Regardless of the outcome of the handler, the container is eventually
1460 # terminated. Other management of the container blocks until the hook
1461 # completes. More info:
1462 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1463 # +optional
1464 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1465 # TCP hooks not yet supported
1466 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1467 # +optional
1468 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
1469 # Number must be in the range 1 to 65535.
1470 # Name must be an IANA_SVC_NAME.
1471 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1472 # inner type. This allows you to have, for example, a JSON field that can
1473 # accept a name or number.
1474 "strVal": "A String", # The string value.
1475 "type": 42, # The type of the value.
1476 "intVal": 42, # The int value.
1477 },
1478 },
1479 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001480 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001481 "path": "A String", # Path to access on the HTTP server.
1482 # +optional
1483 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1484 # "Host" in httpHeaders instead.
1485 # +optional
1486 "scheme": "A String", # Scheme to use for connecting to the host.
1487 # Defaults to HTTP.
1488 # +optional
1489 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
1490 # Number must be in the range 1 to 65535.
1491 # Name must be an IANA_SVC_NAME.
1492 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1493 # inner type. This allows you to have, for example, a JSON field that can
1494 # accept a name or number.
1495 "strVal": "A String", # The string value.
1496 "type": 42, # The type of the value.
1497 "intVal": 42, # The int value.
1498 },
1499 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1500 # +optional
1501 { # HTTPHeader describes a custom header to be used in HTTP probes
1502 "name": "A String", # The header field name
1503 "value": "A String", # The header field value
1504 },
1505 ],
1506 },
1507 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1508 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001509 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001510 "command": "A String", # Command is the command line to execute inside the container, the working
1511 # directory for the command is root ('/') in the container's filesystem. The
1512 # command is simply exec'd, it is not run inside a shell, so traditional
1513 # shell instructions ('|', etc) won't work. To use a shell, you need to
1514 # explicitly call out to that shell. Exit status of 0 is treated as
1515 # live/healthy and non-zero is unhealthy. +optional
1516 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001517 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001518 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1519 # handler fails, the container is terminated and restarted according to its
1520 # restart policy. Other management of the container blocks until the hook
1521 # completes. More info:
1522 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1523 # +optional
1524 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1525 # TCP hooks not yet supported
1526 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1527 # +optional
1528 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
1529 # Number must be in the range 1 to 65535.
1530 # Name must be an IANA_SVC_NAME.
1531 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1532 # inner type. This allows you to have, for example, a JSON field that can
1533 # accept a name or number.
1534 "strVal": "A String", # The string value.
1535 "type": 42, # The type of the value.
1536 "intVal": 42, # The int value.
1537 },
1538 },
1539 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1540 # +optional
1541 "path": "A String", # Path to access on the HTTP server.
1542 # +optional
1543 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1544 # "Host" in httpHeaders instead.
1545 # +optional
1546 "scheme": "A String", # Scheme to use for connecting to the host.
1547 # Defaults to HTTP.
1548 # +optional
1549 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
1550 # Number must be in the range 1 to 65535.
1551 # Name must be an IANA_SVC_NAME.
1552 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1553 # inner type. This allows you to have, for example, a JSON field that can
1554 # accept a name or number.
1555 "strVal": "A String", # The string value.
1556 "type": 42, # The type of the value.
1557 "intVal": 42, # The int value.
1558 },
1559 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1560 # +optional
1561 { # HTTPHeader describes a custom header to be used in HTTP probes
1562 "name": "A String", # The header field name
1563 "value": "A String", # The header field value
1564 },
1565 ],
1566 },
1567 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1568 # Exec specifies the action to take.
1569 # +optional
1570 "command": "A String", # Command is the command line to execute inside the container, the working
1571 # directory for the command is root ('/') in the container's filesystem. The
1572 # command is simply exec'd, it is not run inside a shell, so traditional
1573 # shell instructions ('|', etc) won't work. To use a shell, you need to
1574 # explicitly call out to that shell. Exit status of 0 is treated as
1575 # live/healthy and non-zero is unhealthy. +optional
1576 },
1577 },
1578 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001579 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
1580 # Cannot be updated.
1581 # More info:
1582 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
1583 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001584 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
1585 # This is a temporary field created to migrate away from the
1586 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
1587 # with k8s style API.
1588 # This field is deprecated in favor of limits field.
1589 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1590 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1591 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1592 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001593 },
1594 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
1595 # If Requests is omitted for a container, it defaults to Limits if that is
1596 # explicitly specified, otherwise to an implementation-defined value.
1597 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07001598 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001599 # with k8s style API.
1600 # This field is deprecated in favor of requests field.
1601 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1602 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1603 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1604 },
1605 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001606 "requests": { # Requests describes the minimum amount of compute resources required.
1607 # If Requests is omitted for a container, it defaults to Limits if that is
1608 # explicitly specified, otherwise to an implementation-defined value.
1609 # The values of the map is string form of the 'quantity' k8s type:
1610 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1611 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001612 },
1613 "limits": { # Limits describes the maximum amount of compute resources allowed.
1614 # The values of the map is string form of the 'quantity' k8s type:
1615 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1616 "a_key": "A String",
1617 },
1618 },
1619 "workingDir": "A String", # Container's working directory.
1620 # If not specified, the container runtime's default will be used, which
1621 # might be configured in the container image.
1622 # Cannot be updated.
1623 # +optional
1624 },
1625 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001626 "serviceAccountName": "A String", # Email address of the IAM service account associated with the revision
1627 # of the service. The service account represents the identity of the
1628 # running revision, and determines what permissions the revision has. If
1629 # not provided, the revision will use the project's default service account.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001630 },
1631 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
1632 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07001633 # To set minimum instances for this revision, use the
1634 # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
1635 # To set maximum instances for this revision, use the
1636 # "autoscaling.knative.dev/maxScale" annotation key.
1637 # To set Cloud SQL connections for the revision, use the
1638 # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
1639 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001640 # all objects users must create.
1641 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
1642 # been deleted, this object will be garbage collected.
1643 # +optional
1644 { # OwnerReference contains enough information to let you identify an owning
1645 # object. Currently, an owning object must be in the same namespace, so there
1646 # is no namespace field.
1647 "kind": "A String", # Kind of the referent.
1648 # More info:
1649 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07001650 "name": "A String", # Name of the referent.
1651 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001652 "apiVersion": "A String", # API version of the referent.
1653 "controller": True or False, # If true, this reference points to the managing controller.
1654 # +optional
1655 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
1656 # the owner cannot be deleted from the key-value store until this
1657 # reference is removed.
1658 # Defaults to false.
1659 # To set this field, a user needs "delete" permission of the owner,
1660 # otherwise 422 (Unprocessable Entity) will be returned.
1661 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001662 "uid": "A String", # UID of the referent.
1663 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001664 },
1665 ],
1666 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
1667 # Is required when creating
1668 # resources, although some resources may allow a client to request the
1669 # generation of an appropriate name automatically. Name is primarily intended
1670 # for creation idempotence and configuration definition. Cannot be updated.
1671 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1672 # +optional
1673 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
1674 # deleted. This field is set by the server when a graceful deletion is
1675 # requested by the user, and is not directly settable by a client. The
1676 # resource is expected to be deleted (no longer visible from resource lists,
1677 # and not reachable by name) after the time in this field, once the
1678 # finalizers list is empty. As long as the finalizers list contains items,
1679 # deletion is blocked. Once the deletionTimestamp is set, this value may not
1680 # be unset or be set further into the future, although it may be shortened or
1681 # the resource may be deleted prior to this time. For example, a user may
1682 # request that a pod is deleted in 30 seconds. The Kubelet will react by
1683 # sending a graceful termination signal to the containers in the pod. After
1684 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
1685 # to the container and after cleanup, remove the pod from the API. In the
1686 # presence of network partitions, this object may still exist after this
1687 # timestamp, until an administrator or automated process can determine the
1688 # resource is fully terminated.
1689 # If not set, graceful deletion of the object has not been requested.
1690 #
1691 # Populated by the system when a graceful deletion is requested.
1692 # Read-only.
1693 # More info:
1694 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1695 # +optional
1696 "clusterName": "A String", # Not currently supported by Cloud Run.
1697 #
1698 # The name of the cluster which the object belongs to.
1699 # This is used to distinguish resources with same name and namespace in
1700 # different clusters. This field is not set anywhere right now and apiserver
1701 # is going to ignore it if set in create or update request. +optional
1702 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
1703 #
1704 # Number of seconds allowed for this object to gracefully terminate before
1705 # it will be removed from the system. Only set when deletionTimestamp is also
1706 # set. May only be shortened. Read-only. +optional
1707 "labels": { # Map of string keys and values that can be used to organize and categorize
1708 # (scope and select) objects. May match selectors of replication controllers
1709 # and routes.
1710 # More info: http://kubernetes.io/docs/user-guide/labels
1711 # +optional
1712 "a_key": "A String",
1713 },
1714 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
1715 # Cloud Run region. In Cloud Run the namespace must be equal to either the
1716 # project ID or project number.
1717 "generation": 42, # A sequence number representing a specific generation of the desired state.
1718 # Populated by the system. Read-only.
1719 # +optional
1720 "finalizers": [ # Not currently supported by Cloud Run.
1721 #
1722 # Must be empty before the object is deleted from the registry. Each entry
1723 # is an identifier for the responsible component that will remove the entry
1724 # from the list. If the deletionTimestamp of the object is non-nil, entries
1725 # in this list can only be removed.
1726 # +optional
1727 # +patchStrategy=merge
1728 "A String",
1729 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001730 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
1731 # can be used by clients to determine when objects have changed. May be used
1732 # for optimistic concurrency, change detection, and the watch operation on a
1733 # resource or set of resources. Clients must treat these values as opaque and
1734 # passed unmodified back to the server. They may only be valid for a
1735 # particular resource or set of resources.
1736 #
1737 # Populated by the system.
1738 # Read-only.
1739 # Value must be treated as opaque by clients and .
1740 # More info:
1741 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
1742 # +optional
1743 "generateName": "A String", # Not currently supported by Cloud Run.
1744 #
1745 # GenerateName is an optional prefix, used by the server, to generate a
1746 # unique name ONLY IF the Name field has not been provided. If this field is
1747 # used, the name returned to the client will be different than the name
1748 # passed. This value will also be combined with a unique suffix. The provided
1749 # value has the same validation rules as the Name field, and may be truncated
1750 # by the length of the suffix required to make the value unique on the
1751 # server.
1752 #
1753 # If this field is specified and the generated name exists, the server will
1754 # NOT return a 409 - instead, it will either return 201 Created or 500 with
1755 # Reason ServerTimeout indicating a unique name could not be found in the
1756 # time allotted, and the client should retry (optionally after the time
1757 # indicated in the Retry-After header).
1758 #
1759 # Applied only if Name is not specified.
1760 # More info:
1761 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
1762 # +optional
1763 # string generateName = 2;
1764 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
1765 # object was created. It is not guaranteed to be set in happens-before order
1766 # across separate operations. Clients may not set this value. It is
1767 # represented in RFC3339 form and is in UTC.
1768 #
1769 # Populated by the system.
1770 # Read-only.
1771 # Null for lists.
1772 # More info:
1773 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1774 # +optional
1775 "annotations": { # Annotations is an unstructured key value map stored with a resource that
1776 # may be set by external tools to store and retrieve arbitrary metadata. They
1777 # are not queryable and should be preserved when modifying objects. More
1778 # info: http://kubernetes.io/docs/user-guide/annotations +optional
1779 "a_key": "A String",
1780 },
1781 "selfLink": "A String", # SelfLink is a URL representing this object.
1782 # Populated by the system.
1783 # Read-only.
1784 # +optional
1785 # string selfLink = 4;
1786 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
1787 # generated by the server on successful creation of a resource and is not
1788 # allowed to change on PUT operations.
1789 #
1790 # Populated by the system.
1791 # Read-only.
1792 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1793 # +optional
1794 },
1795 },
1796 "template": { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001797 # from a template. Based on:
1798 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
1799 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
1800 "container": { # A single application container. # Container defines the unit of execution for this Revision.
1801 # In the context of a Revision, we disallow a number of the fields of
1802 # this Container, including: name, ports, and volumeMounts.
1803 # The runtime contract is documented here:
1804 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
1805 # This specifies both the container to run, the command to run in the container
1806 # and the arguments to supply to it.
1807 # Note that additional arguments may be supplied by the system to the container
1808 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07001809 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
1810 # Container will be restarted if the probe fails.
1811 # Cannot be updated.
1812 # More info:
1813 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1814 # +optional
1815 # determine whether it is alive or ready to receive traffic.
1816 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1817 # Defaults to 1 second. Minimum value is 1.
1818 # More info:
1819 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1820 # +optional
1821 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1822 # are initiated. More info:
1823 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1824 # +optional
1825 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1826 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1827 # TCP hooks not yet supported
1828 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1829 # +optional
1830 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
1831 # Number must be in the range 1 to 65535.
1832 # Name must be an IANA_SVC_NAME.
1833 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1834 # inner type. This allows you to have, for example, a JSON field that can
1835 # accept a name or number.
1836 "strVal": "A String", # The string value.
1837 "type": 42, # The type of the value.
1838 "intVal": 42, # The int value.
1839 },
1840 },
1841 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1842 # +optional
1843 "path": "A String", # Path to access on the HTTP server.
1844 # +optional
1845 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1846 # "Host" in httpHeaders instead.
1847 # +optional
1848 "scheme": "A String", # Scheme to use for connecting to the host.
1849 # Defaults to HTTP.
1850 # +optional
1851 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
1852 # Number must be in the range 1 to 65535.
1853 # Name must be an IANA_SVC_NAME.
1854 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1855 # inner type. This allows you to have, for example, a JSON field that can
1856 # accept a name or number.
1857 "strVal": "A String", # The string value.
1858 "type": 42, # The type of the value.
1859 "intVal": 42, # The int value.
1860 },
1861 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1862 # +optional
1863 { # HTTPHeader describes a custom header to be used in HTTP probes
1864 "name": "A String", # The header field name
1865 "value": "A String", # The header field value
1866 },
1867 ],
1868 },
1869 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1870 # Exec specifies the action to take.
1871 # +optional
1872 "command": "A String", # Command is the command line to execute inside the container, the working
1873 # directory for the command is root ('/') in the container's filesystem. The
1874 # command is simply exec'd, it is not run inside a shell, so traditional
1875 # shell instructions ('|', etc) won't work. To use a shell, you need to
1876 # explicitly call out to that shell. Exit status of 0 is treated as
1877 # live/healthy and non-zero is unhealthy. +optional
1878 },
1879 },
1880 "periodSeconds": 42, # How often (in seconds) to perform the probe.
1881 # Default to 10 seconds. Minimum value is 1.
1882 # +optional
1883 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1884 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1885 # is 1. +optional
1886 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1887 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1888 },
1889 "args": [ # Arguments to the entrypoint.
1890 # The docker image's CMD is used if this is not provided.
1891 # Variable references $(VAR_NAME) are expanded using the container's
1892 # environment. If a variable cannot be resolved, the reference in the input
1893 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1894 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1895 # regardless of whether the variable exists or not.
1896 # Cannot be updated.
1897 # More info:
1898 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1899 # +optional
1900 "A String",
1901 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001902 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
1903 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
1904 # More info:
1905 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1906 # +optional
1907 # container. Some fields are present in both SecurityContext and
1908 # PodSecurityContext. When both are set, the values in SecurityContext take
1909 # precedence.
1910 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
1911 # Default is false.
1912 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001913 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001914 # Uses runtime default if unset.
1915 # May also be set in PodSecurityContext. If set in both SecurityContext and
1916 # PodSecurityContext, the value specified in SecurityContext takes
1917 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001918 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
1919 # privileges than its parent process. This bool directly controls if
1920 # the no_new_privs flag will be set on the container process.
1921 # AllowPrivilegeEscalation is true always when the container is:
1922 # 1) run as Privileged
1923 # 2) has CAP_SYS_ADMIN
1924 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001925 "runAsUser": 42, # The UID to run the entrypoint of the container process.
1926 # Defaults to user specified in image metadata if unspecified.
1927 # May also be set in PodSecurityContext. If set in both SecurityContext and
1928 # PodSecurityContext, the value specified in SecurityContext takes
1929 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001930 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
1931 # Defaults to the default set of capabilities granted by the container
1932 # runtime. +optional
1933 "add": [ # Added capabilities
1934 # +optional
1935 "A String",
1936 ],
1937 "drop": [ # Removed capabilities
1938 # +optional
1939 "A String",
1940 ],
1941 },
1942 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
1943 # If true, the Kubelet will validate the image at runtime to ensure that it
1944 # does not run as UID 0 (root) and fail to start the container if it does.
1945 # If unset or false, no such validation will be performed.
1946 # May also be set in PodSecurityContext. If set in both SecurityContext and
1947 # PodSecurityContext, the value specified in SecurityContext takes
1948 # precedence. +optional
1949 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
1950 # If unspecified, the container runtime will allocate a random SELinux
1951 # context for each container. May also be set in PodSecurityContext. If set
1952 # in both SecurityContext and PodSecurityContext, the value specified in
1953 # SecurityContext takes precedence. +optional
1954 "role": "A String", # Role is a SELinux role label that applies to the container.
1955 # +optional
1956 "type": "A String", # Type is a SELinux type label that applies to the container.
1957 # +optional
1958 "user": "A String", # User is a SELinux user label that applies to the container.
1959 # +optional
1960 "level": "A String", # Level is SELinux level label that applies to the container.
1961 # +optional
1962 },
1963 "privileged": True or False, # Run container in privileged mode.
1964 # Processes in privileged containers are essentially equivalent to root on
1965 # the host. Defaults to false. +optional
1966 },
1967 "name": "A String", # Name of the container specified as a DNS_LABEL.
1968 # Each container must have a unique name (DNS_LABEL).
1969 # Cannot be updated.
1970 "envFrom": [ # List of sources to populate environment variables in the container.
1971 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
1972 # will be reported as an event when the container is starting. When a key
1973 # exists in multiple sources, the value associated with the last source will
1974 # take precedence. Values defined by an Env with a duplicate key will take
1975 # precedence. Cannot be updated. +optional
1976 { # EnvFromSource represents the source of a set of ConfigMaps
1977 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
1978 # +optional
1979 # variables with.
1980 #
1981 # The contents of the target Secret's Data field will represent the
1982 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07001983 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1984 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001985 # referenced object inside the same namespace.
1986 "name": "A String", # Name of the referent.
1987 # More info:
1988 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1989 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001990 "optional": True or False, # Cloud Run fully managed: not supported
1991 #
1992 # Cloud Run for Anthos: supported
1993 #
1994 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001995 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07001996 "name": "A String", # Cloud Run fully managed: not supported
1997 #
1998 # Cloud Run for Anthos: supported
1999 #
2000 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002001 },
2002 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2003 # +optional
2004 # variables with.
2005 #
2006 # The contents of the target ConfigMap's Data field will represent the
2007 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07002008 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2009 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002010 # referenced object inside the same namespace.
2011 "name": "A String", # Name of the referent.
2012 # More info:
2013 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2014 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002015 "optional": True or False, # Cloud Run fully managed: not supported
2016 #
2017 # Cloud Run for Anthos: supported
2018 #
2019 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002020 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002021 "name": "A String", # Cloud Run fully managed: not supported
2022 #
2023 # Cloud Run for Anthos: supported
2024 #
2025 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002026 },
2027 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
2028 # C_IDENTIFIER. +optional
2029 },
2030 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002031 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
2032 # been opened by a single attach. When stdin is true the stdin stream will
2033 # remain open across multiple attach sessions. If stdinOnce is set to true,
2034 # stdin is opened on container start, is empty until the first client
2035 # attaches to stdin, and then remains open and accepts data until the client
2036 # disconnects, at which time stdin is closed and remains closed until the
2037 # container is restarted. If this flag is false, a container processes that
2038 # reads from stdin will never receive an EOF. Default is false +optional
2039 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
2040 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002041 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002042 { # volumeDevice describes a mapping of a raw block device within a container.
2043 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
2044 # mapped to.
2045 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002046 },
2047 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002048 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
2049 # runtime. If this is not set, reads from stdin in the container will always
2050 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002051 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
2052 # Cannot be updated.
2053 # +optional
2054 { # VolumeMount describes a mounting of a Volume within a container.
2055 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2056 # Defaults to false.
2057 # +optional
2058 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
2059 # to container and the other way around.
2060 # When not set, MountPropagationHostToContainer is used.
2061 # This field is beta in 1.10.
2062 # +optional
2063 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
2064 # Defaults to "" (volume's root).
2065 # +optional
2066 "name": "A String", # This must match the Name of a Volume.
2067 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
2068 # not contain ':'.
2069 },
2070 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002071 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
2072 # 'stdin' to be true. Default is false. +optional
2073 "ports": [ # List of ports to expose from the container. Exposing a port here gives
2074 # the system additional information about the network connections a
2075 # container uses, but is primarily informational. Not specifying a port here
2076 # DOES NOT prevent that port from being exposed. Any port which is
2077 # listening on the default "0.0.0.0" address inside a container will be
2078 # accessible from the network.
2079 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002080 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002081 { # ContainerPort represents a network port in a single container.
2082 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2083 # Defaults to "TCP".
2084 # +optional
2085 "hostIP": "A String", # What host IP to bind the external port to.
2086 # +optional
2087 "containerPort": 42, # Number of port to expose on the pod's IP address.
2088 # This must be a valid port number, 0 &lt; x &lt; 65536.
2089 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2090 # named port in a pod must have a unique name. Name for the port that can be
2091 # referred to by services.
2092 # +optional
2093 "hostPort": 42, # Number of port to expose on the host.
2094 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
2095 # If HostNetwork is specified, this must match ContainerPort.
2096 # Most containers do not need this.
2097 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002098 },
2099 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002100 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
2101 # contents of terminationMessagePath to populate the container status message
2102 # on both success and failure. FallbackToLogsOnError will use the last chunk
2103 # of container log output if the termination message file is empty and the
2104 # container exited with an error. The log output is limited to 2048 bytes or
2105 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2106 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002107 "command": [ # Entrypoint array. Not executed within a shell.
2108 # The docker image's ENTRYPOINT is used if this is not provided.
2109 # Variable references $(VAR_NAME) are expanded using the container's
2110 # environment. If a variable cannot be resolved, the reference in the input
2111 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2112 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2113 # regardless of whether the variable exists or not.
2114 # Cannot be updated.
2115 # More info:
2116 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2117 # +optional
2118 "A String",
2119 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002120 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002121 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002122 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002123 { # EnvVar represents an environment variable present in a Container.
2124 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2125 #
2126 # Cloud Run on GKE: supported
2127 #
2128 # Source for the environment variable's value. Cannot be used if value is not
2129 # empty. +optional
2130 #
2131 # Cloud Run on GKE: supported
2132 #
2133 # EnvVarSource represents a source for the value of an EnvVar.
2134 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2135 #
2136 # Cloud Run on GKE: supported
2137 #
2138 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002139 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002140 #
2141 # Cloud Run on GKE: supported
2142 #
2143 # SecretKeySelector selects a key of a Secret.
2144 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2145 # directly into the message. Use the "name" field instead.
2146 # referenced object inside the same namespace.
2147 "name": "A String", # Name of the referent.
2148 # More info:
2149 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002150 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002151 "optional": True or False, # Cloud Run fully managed: not supported
2152 #
2153 # Cloud Run on GKE: supported
2154 #
2155 # Specify whether the Secret or its key must be defined
2156 # +optional
2157 "name": "A String", # Cloud Run fully managed: not supported
2158 #
2159 # Cloud Run on GKE: supported
2160 #
2161 # The name of the secret in the pod's namespace to select from.
2162 "key": "A String", # Cloud Run fully managed: not supported
2163 #
2164 # Cloud Run on GKE: supported
2165 #
2166 # The key of the secret to select from. Must be a valid secret key.
2167 },
2168 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2169 #
2170 # Cloud Run on GKE: supported
2171 #
2172 # Selects a key of a ConfigMap.
2173 # +optional
2174 #
2175 # Cloud Run on GKE: supported
2176 #
2177 # Selects a key from a ConfigMap.
2178 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2179 # directly into the message. Use the "name" field instead.
2180 # referenced object inside the same namespace.
2181 "name": "A String", # Name of the referent.
2182 # More info:
2183 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2184 },
2185 "optional": True or False, # Cloud Run fully managed: not supported
2186 #
2187 # Cloud Run on GKE: supported
2188 #
2189 # Specify whether the ConfigMap or its key must be defined
2190 # +optional
2191 "name": "A String", # Cloud Run fully managed: not supported
2192 #
2193 # Cloud Run on GKE: supported
2194 #
2195 # The ConfigMap to select from.
2196 "key": "A String", # Cloud Run fully managed: not supported
2197 #
2198 # Cloud Run on GKE: supported
2199 #
2200 # The key to select.
2201 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002202 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002203 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
2204 "value": "A String", # Variable references $(VAR_NAME) are expanded
2205 # using the previous defined environment variables in the container and
2206 # any route environment variables. If a variable cannot be resolved,
2207 # the reference in the input string will be unchanged. The $(VAR_NAME)
2208 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
2209 # references will never be expanded, regardless of whether the variable
2210 # exists or not.
2211 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002212 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002213 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002214 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002215 "imagePullPolicy": "A String", # Image pull policy.
2216 # One of Always, Never, IfNotPresent.
2217 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2218 # Cannot be updated.
2219 # More info:
2220 # https://kubernetes.io/docs/concepts/containers/images#updating-images
2221 # +optional
2222 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2223 # Container will be removed from service endpoints if the probe fails.
2224 # Cannot be updated.
2225 # More info:
2226 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2227 # +optional
2228 # determine whether it is alive or ready to receive traffic.
2229 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2230 # Defaults to 1 second. Minimum value is 1.
2231 # More info:
2232 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2233 # +optional
2234 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2235 # are initiated. More info:
2236 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2237 # +optional
2238 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2239 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2240 # TCP hooks not yet supported
2241 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2242 # +optional
2243 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
2244 # Number must be in the range 1 to 65535.
2245 # Name must be an IANA_SVC_NAME.
2246 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2247 # inner type. This allows you to have, for example, a JSON field that can
2248 # accept a name or number.
2249 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07002250 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002251 "intVal": 42, # The int value.
2252 },
2253 },
2254 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2255 # +optional
2256 "path": "A String", # Path to access on the HTTP server.
2257 # +optional
2258 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2259 # "Host" in httpHeaders instead.
2260 # +optional
2261 "scheme": "A String", # Scheme to use for connecting to the host.
2262 # Defaults to HTTP.
2263 # +optional
2264 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
2265 # Number must be in the range 1 to 65535.
2266 # Name must be an IANA_SVC_NAME.
2267 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2268 # inner type. This allows you to have, for example, a JSON field that can
2269 # accept a name or number.
2270 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07002271 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002272 "intVal": 42, # The int value.
2273 },
2274 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2275 # +optional
2276 { # HTTPHeader describes a custom header to be used in HTTP probes
2277 "name": "A String", # The header field name
2278 "value": "A String", # The header field value
2279 },
2280 ],
2281 },
2282 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2283 # Exec specifies the action to take.
2284 # +optional
2285 "command": "A String", # Command is the command line to execute inside the container, the working
2286 # directory for the command is root ('/') in the container's filesystem. The
2287 # command is simply exec'd, it is not run inside a shell, so traditional
2288 # shell instructions ('|', etc) won't work. To use a shell, you need to
2289 # explicitly call out to that shell. Exit status of 0 is treated as
2290 # live/healthy and non-zero is unhealthy. +optional
2291 },
2292 },
2293 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2294 # Default to 10 seconds. Minimum value is 1.
2295 # +optional
2296 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2297 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2298 # is 1. +optional
2299 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2300 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2301 },
2302 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
2303 # message will be written is mounted into the container's filesystem. Message
2304 # written is intended to be brief final status, such as an assertion failure
2305 # message. Will be truncated by the node if greater than 4096 bytes. The
2306 # total message length across all containers will be limited to 12kb.
2307 # Defaults to /dev/termination-log.
2308 # Cannot be updated.
2309 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002310 "image": "A String", # Docker image name.
2311 # More info: https://kubernetes.io/docs/concepts/containers/images
2312 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
2313 # lifecycle events. Cannot be updated. +optional
2314 # response to container lifecycle events. For the PostStart and PreStop
2315 # lifecycle handlers, management of the container blocks until the action is
2316 # complete, unless the container process fails, in which case the handler is
2317 # aborted.
2318 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
2319 # The container is terminated after the handler completes.
2320 # The reason for termination is passed to the handler.
2321 # Regardless of the outcome of the handler, the container is eventually
2322 # terminated. Other management of the container blocks until the hook
2323 # completes. More info:
2324 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2325 # +optional
2326 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2327 # TCP hooks not yet supported
2328 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2329 # +optional
2330 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
2331 # Number must be in the range 1 to 65535.
2332 # Name must be an IANA_SVC_NAME.
2333 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2334 # inner type. This allows you to have, for example, a JSON field that can
2335 # accept a name or number.
2336 "strVal": "A String", # The string value.
2337 "type": 42, # The type of the value.
2338 "intVal": 42, # The int value.
2339 },
2340 },
2341 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002342 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002343 "path": "A String", # Path to access on the HTTP server.
2344 # +optional
2345 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2346 # "Host" in httpHeaders instead.
2347 # +optional
2348 "scheme": "A String", # Scheme to use for connecting to the host.
2349 # Defaults to HTTP.
2350 # +optional
2351 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
2352 # Number must be in the range 1 to 65535.
2353 # Name must be an IANA_SVC_NAME.
2354 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2355 # inner type. This allows you to have, for example, a JSON field that can
2356 # accept a name or number.
2357 "strVal": "A String", # The string value.
2358 "type": 42, # The type of the value.
2359 "intVal": 42, # The int value.
2360 },
2361 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2362 # +optional
2363 { # HTTPHeader describes a custom header to be used in HTTP probes
2364 "name": "A String", # The header field name
2365 "value": "A String", # The header field value
2366 },
2367 ],
2368 },
2369 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2370 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002371 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002372 "command": "A String", # Command is the command line to execute inside the container, the working
2373 # directory for the command is root ('/') in the container's filesystem. The
2374 # command is simply exec'd, it is not run inside a shell, so traditional
2375 # shell instructions ('|', etc) won't work. To use a shell, you need to
2376 # explicitly call out to that shell. Exit status of 0 is treated as
2377 # live/healthy and non-zero is unhealthy. +optional
2378 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002379 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002380 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
2381 # handler fails, the container is terminated and restarted according to its
2382 # restart policy. Other management of the container blocks until the hook
2383 # completes. More info:
2384 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2385 # +optional
2386 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2387 # TCP hooks not yet supported
2388 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2389 # +optional
2390 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
2391 # Number must be in the range 1 to 65535.
2392 # Name must be an IANA_SVC_NAME.
2393 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2394 # inner type. This allows you to have, for example, a JSON field that can
2395 # accept a name or number.
2396 "strVal": "A String", # The string value.
2397 "type": 42, # The type of the value.
2398 "intVal": 42, # The int value.
2399 },
2400 },
2401 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2402 # +optional
2403 "path": "A String", # Path to access on the HTTP server.
2404 # +optional
2405 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2406 # "Host" in httpHeaders instead.
2407 # +optional
2408 "scheme": "A String", # Scheme to use for connecting to the host.
2409 # Defaults to HTTP.
2410 # +optional
2411 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
2412 # Number must be in the range 1 to 65535.
2413 # Name must be an IANA_SVC_NAME.
2414 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2415 # inner type. This allows you to have, for example, a JSON field that can
2416 # accept a name or number.
2417 "strVal": "A String", # The string value.
2418 "type": 42, # The type of the value.
2419 "intVal": 42, # The int value.
2420 },
2421 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2422 # +optional
2423 { # HTTPHeader describes a custom header to be used in HTTP probes
2424 "name": "A String", # The header field name
2425 "value": "A String", # The header field value
2426 },
2427 ],
2428 },
2429 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2430 # Exec specifies the action to take.
2431 # +optional
2432 "command": "A String", # Command is the command line to execute inside the container, the working
2433 # directory for the command is root ('/') in the container's filesystem. The
2434 # command is simply exec'd, it is not run inside a shell, so traditional
2435 # shell instructions ('|', etc) won't work. To use a shell, you need to
2436 # explicitly call out to that shell. Exit status of 0 is treated as
2437 # live/healthy and non-zero is unhealthy. +optional
2438 },
2439 },
2440 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002441 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
2442 # Cannot be updated.
2443 # More info:
2444 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2445 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002446 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
2447 # This is a temporary field created to migrate away from the
2448 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
2449 # with k8s style API.
2450 # This field is deprecated in favor of limits field.
2451 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2452 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2453 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2454 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002455 },
2456 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
2457 # If Requests is omitted for a container, it defaults to Limits if that is
2458 # explicitly specified, otherwise to an implementation-defined value.
2459 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07002460 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002461 # with k8s style API.
2462 # This field is deprecated in favor of requests field.
2463 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2464 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2465 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2466 },
2467 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002468 "requests": { # Requests describes the minimum amount of compute resources required.
2469 # If Requests is omitted for a container, it defaults to Limits if that is
2470 # explicitly specified, otherwise to an implementation-defined value.
2471 # The values of the map is string form of the 'quantity' k8s type:
2472 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2473 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002474 },
2475 "limits": { # Limits describes the maximum amount of compute resources allowed.
2476 # The values of the map is string form of the 'quantity' k8s type:
2477 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2478 "a_key": "A String",
2479 },
2480 },
2481 "workingDir": "A String", # Container's working directory.
2482 # If not specified, the container runtime's default will be used, which
2483 # might be configured in the container image.
2484 # Cannot be updated.
2485 # +optional
2486 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002487 "volumes": [
2488 { # Volume represents a named volume in a container.
2489 "configMap": { # Adapts a ConfigMap into a volume.
2490 # The contents of the target ConfigMap's Data field will be presented in a
2491 # volume as files using the keys in the Data field as the file names, unless
2492 # the items element is populated with specific mappings of keys to paths.
2493 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2494 # Secret will be projected into the volume as a file whose name is the
2495 # key and content is the value. If specified, the listed keys will be
2496 # projected into the specified paths, and unlisted keys will not be
2497 # present. If a key is specified which is not present in the Secret,
2498 # the volume setup will error unless it is marked optional.
2499 { # Maps a string key to a path within a volume.
2500 "path": "A String", # The relative path of the file to map the key to.
2501 # May not be an absolute path.
2502 # May not contain the path element '..'.
2503 # May not start with the string '..'.
2504 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2505 # specified, the volume defaultMode will be used. This might be in conflict
2506 # with other options that affect the file mode, like fsGroup, and the result
2507 # can be other mode bits set. +optional
2508 "key": "A String", # The key to project.
2509 },
2510 ],
2511 "optional": True or False, # Specify whether the Secret or its keys must be defined.
2512 "name": "A String", # Name of the config.
2513 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2514 # 0777. Defaults to 0644. Directories within the path are not affected by
2515 # this setting. This might be in conflict with other options that affect the
2516 # file mode, like fsGroup, and the result can be other mode bits set.
2517 },
2518 "secret": { # The contents of the target Secret's Data field will be presented in a volume
2519 # as files using the keys in the Data field as the file names.
2520 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2521 # Secret will be projected into the volume as a file whose name is the
2522 # key and content is the value. If specified, the listed keys will be
2523 # projected into the specified paths, and unlisted keys will not be
2524 # present. If a key is specified which is not present in the Secret,
2525 # the volume setup will error unless it is marked optional.
2526 { # Maps a string key to a path within a volume.
2527 "path": "A String", # The relative path of the file to map the key to.
2528 # May not be an absolute path.
2529 # May not contain the path element '..'.
2530 # May not start with the string '..'.
2531 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2532 # specified, the volume defaultMode will be used. This might be in conflict
2533 # with other options that affect the file mode, like fsGroup, and the result
2534 # can be other mode bits set. +optional
2535 "key": "A String", # The key to project.
2536 },
2537 ],
2538 "optional": True or False, # Specify whether the Secret or its keys must be defined.
2539 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2540 # 0777. Defaults to 0644. Directories within the path are not affected by
2541 # this setting. This might be in conflict with other options that affect the
2542 # file mode, like fsGroup, and the result can be other mode bits set.
2543 "secretName": "A String", # Name of the secret in the container's namespace to use.
2544 },
2545 "name": "A String", # Volume's name.
2546 },
2547 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002548 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
2549 # responding to a request.
2550 # Not currently used by Cloud Run.
2551 "servingState": "A String", # ServingState holds a value describing the state the resources
2552 # are in for this Revision.
2553 # Users must not specify this when creating a revision. It is expected
2554 # that the system will manipulate this based on routability and load.
2555 #
2556 # Populated by the system.
2557 # Read-only.
2558 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
2559 # metadata.generation instead, which is the sequence number containing the
2560 # latest generation of the desired state.
2561 #
2562 # Read-only.
2563 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
2564 # (Single or Multi) for the Revision. Defaults to Multi.
2565 # Deprecated in favor of ContainerConcurrency.
2566 # +optional
2567 "containerConcurrency": 42, # (Optional)
2568 #
2569 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
2570 # requests per container instance of the Revision.
2571 #
2572 # Cloud Run fully managed: supported, defaults to 80
2573 #
2574 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
2575 # to the application is not limited, and the system decides the
2576 # target concurrency for the autoscaler.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002577 "containers": [ # Containers holds the single container that defines the unit of execution
2578 # for this Revision. In the context of a Revision, we disallow a number of
2579 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -07002580 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002581 { # A single application container.
2582 # This specifies both the container to run, the command to run in the container
2583 # and the arguments to supply to it.
2584 # Note that additional arguments may be supplied by the system to the container
2585 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07002586 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
2587 # Container will be restarted if the probe fails.
2588 # Cannot be updated.
2589 # More info:
2590 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2591 # +optional
2592 # determine whether it is alive or ready to receive traffic.
2593 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2594 # Defaults to 1 second. Minimum value is 1.
2595 # More info:
2596 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2597 # +optional
2598 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2599 # are initiated. More info:
2600 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2601 # +optional
2602 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2603 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2604 # TCP hooks not yet supported
2605 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2606 # +optional
2607 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
2608 # Number must be in the range 1 to 65535.
2609 # Name must be an IANA_SVC_NAME.
2610 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2611 # inner type. This allows you to have, for example, a JSON field that can
2612 # accept a name or number.
2613 "strVal": "A String", # The string value.
2614 "type": 42, # The type of the value.
2615 "intVal": 42, # The int value.
2616 },
2617 },
2618 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2619 # +optional
2620 "path": "A String", # Path to access on the HTTP server.
2621 # +optional
2622 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2623 # "Host" in httpHeaders instead.
2624 # +optional
2625 "scheme": "A String", # Scheme to use for connecting to the host.
2626 # Defaults to HTTP.
2627 # +optional
2628 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
2629 # Number must be in the range 1 to 65535.
2630 # Name must be an IANA_SVC_NAME.
2631 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2632 # inner type. This allows you to have, for example, a JSON field that can
2633 # accept a name or number.
2634 "strVal": "A String", # The string value.
2635 "type": 42, # The type of the value.
2636 "intVal": 42, # The int value.
2637 },
2638 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2639 # +optional
2640 { # HTTPHeader describes a custom header to be used in HTTP probes
2641 "name": "A String", # The header field name
2642 "value": "A String", # The header field value
2643 },
2644 ],
2645 },
2646 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2647 # Exec specifies the action to take.
2648 # +optional
2649 "command": "A String", # Command is the command line to execute inside the container, the working
2650 # directory for the command is root ('/') in the container's filesystem. The
2651 # command is simply exec'd, it is not run inside a shell, so traditional
2652 # shell instructions ('|', etc) won't work. To use a shell, you need to
2653 # explicitly call out to that shell. Exit status of 0 is treated as
2654 # live/healthy and non-zero is unhealthy. +optional
2655 },
2656 },
2657 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2658 # Default to 10 seconds. Minimum value is 1.
2659 # +optional
2660 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2661 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2662 # is 1. +optional
2663 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2664 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2665 },
2666 "args": [ # Arguments to the entrypoint.
2667 # The docker image's CMD is used if this is not provided.
2668 # Variable references $(VAR_NAME) are expanded using the container's
2669 # environment. If a variable cannot be resolved, the reference in the input
2670 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2671 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2672 # regardless of whether the variable exists or not.
2673 # Cannot be updated.
2674 # More info:
2675 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2676 # +optional
2677 "A String",
2678 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002679 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
2680 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
2681 # More info:
2682 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2683 # +optional
2684 # container. Some fields are present in both SecurityContext and
2685 # PodSecurityContext. When both are set, the values in SecurityContext take
2686 # precedence.
2687 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
2688 # Default is false.
2689 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002690 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002691 # Uses runtime default if unset.
2692 # May also be set in PodSecurityContext. If set in both SecurityContext and
2693 # PodSecurityContext, the value specified in SecurityContext takes
2694 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002695 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
2696 # privileges than its parent process. This bool directly controls if
2697 # the no_new_privs flag will be set on the container process.
2698 # AllowPrivilegeEscalation is true always when the container is:
2699 # 1) run as Privileged
2700 # 2) has CAP_SYS_ADMIN
2701 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002702 "runAsUser": 42, # The UID to run the entrypoint of the container process.
2703 # Defaults to user specified in image metadata if unspecified.
2704 # May also be set in PodSecurityContext. If set in both SecurityContext and
2705 # PodSecurityContext, the value specified in SecurityContext takes
2706 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002707 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
2708 # Defaults to the default set of capabilities granted by the container
2709 # runtime. +optional
2710 "add": [ # Added capabilities
2711 # +optional
2712 "A String",
2713 ],
2714 "drop": [ # Removed capabilities
2715 # +optional
2716 "A String",
2717 ],
2718 },
2719 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
2720 # If true, the Kubelet will validate the image at runtime to ensure that it
2721 # does not run as UID 0 (root) and fail to start the container if it does.
2722 # If unset or false, no such validation will be performed.
2723 # May also be set in PodSecurityContext. If set in both SecurityContext and
2724 # PodSecurityContext, the value specified in SecurityContext takes
2725 # precedence. +optional
2726 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
2727 # If unspecified, the container runtime will allocate a random SELinux
2728 # context for each container. May also be set in PodSecurityContext. If set
2729 # in both SecurityContext and PodSecurityContext, the value specified in
2730 # SecurityContext takes precedence. +optional
2731 "role": "A String", # Role is a SELinux role label that applies to the container.
2732 # +optional
2733 "type": "A String", # Type is a SELinux type label that applies to the container.
2734 # +optional
2735 "user": "A String", # User is a SELinux user label that applies to the container.
2736 # +optional
2737 "level": "A String", # Level is SELinux level label that applies to the container.
2738 # +optional
2739 },
2740 "privileged": True or False, # Run container in privileged mode.
2741 # Processes in privileged containers are essentially equivalent to root on
2742 # the host. Defaults to false. +optional
2743 },
2744 "name": "A String", # Name of the container specified as a DNS_LABEL.
2745 # Each container must have a unique name (DNS_LABEL).
2746 # Cannot be updated.
2747 "envFrom": [ # List of sources to populate environment variables in the container.
2748 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
2749 # will be reported as an event when the container is starting. When a key
2750 # exists in multiple sources, the value associated with the last source will
2751 # take precedence. Values defined by an Env with a duplicate key will take
2752 # precedence. Cannot be updated. +optional
2753 { # EnvFromSource represents the source of a set of ConfigMaps
2754 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
2755 # +optional
2756 # variables with.
2757 #
2758 # The contents of the target Secret's Data field will represent the
2759 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07002760 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2761 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002762 # referenced object inside the same namespace.
2763 "name": "A String", # Name of the referent.
2764 # More info:
2765 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2766 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002767 "optional": True or False, # Cloud Run fully managed: not supported
2768 #
2769 # Cloud Run for Anthos: supported
2770 #
2771 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002772 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002773 "name": "A String", # Cloud Run fully managed: not supported
2774 #
2775 # Cloud Run for Anthos: supported
2776 #
2777 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002778 },
2779 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2780 # +optional
2781 # variables with.
2782 #
2783 # The contents of the target ConfigMap's Data field will represent the
2784 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07002785 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2786 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002787 # referenced object inside the same namespace.
2788 "name": "A String", # Name of the referent.
2789 # More info:
2790 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2791 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002792 "optional": True or False, # Cloud Run fully managed: not supported
2793 #
2794 # Cloud Run for Anthos: supported
2795 #
2796 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002797 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002798 "name": "A String", # Cloud Run fully managed: not supported
2799 #
2800 # Cloud Run for Anthos: supported
2801 #
2802 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002803 },
2804 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
2805 # C_IDENTIFIER. +optional
2806 },
2807 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002808 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
2809 # been opened by a single attach. When stdin is true the stdin stream will
2810 # remain open across multiple attach sessions. If stdinOnce is set to true,
2811 # stdin is opened on container start, is empty until the first client
2812 # attaches to stdin, and then remains open and accepts data until the client
2813 # disconnects, at which time stdin is closed and remains closed until the
2814 # container is restarted. If this flag is false, a container processes that
2815 # reads from stdin will never receive an EOF. Default is false +optional
2816 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
2817 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002818 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002819 { # volumeDevice describes a mapping of a raw block device within a container.
2820 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
2821 # mapped to.
2822 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002823 },
2824 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002825 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
2826 # runtime. If this is not set, reads from stdin in the container will always
2827 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002828 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
2829 # Cannot be updated.
2830 # +optional
2831 { # VolumeMount describes a mounting of a Volume within a container.
2832 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2833 # Defaults to false.
2834 # +optional
2835 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
2836 # to container and the other way around.
2837 # When not set, MountPropagationHostToContainer is used.
2838 # This field is beta in 1.10.
2839 # +optional
2840 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
2841 # Defaults to "" (volume's root).
2842 # +optional
2843 "name": "A String", # This must match the Name of a Volume.
2844 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
2845 # not contain ':'.
2846 },
2847 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002848 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
2849 # 'stdin' to be true. Default is false. +optional
2850 "ports": [ # List of ports to expose from the container. Exposing a port here gives
2851 # the system additional information about the network connections a
2852 # container uses, but is primarily informational. Not specifying a port here
2853 # DOES NOT prevent that port from being exposed. Any port which is
2854 # listening on the default "0.0.0.0" address inside a container will be
2855 # accessible from the network.
2856 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002857 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002858 { # ContainerPort represents a network port in a single container.
2859 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2860 # Defaults to "TCP".
2861 # +optional
2862 "hostIP": "A String", # What host IP to bind the external port to.
2863 # +optional
2864 "containerPort": 42, # Number of port to expose on the pod's IP address.
2865 # This must be a valid port number, 0 &lt; x &lt; 65536.
2866 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2867 # named port in a pod must have a unique name. Name for the port that can be
2868 # referred to by services.
2869 # +optional
2870 "hostPort": 42, # Number of port to expose on the host.
2871 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
2872 # If HostNetwork is specified, this must match ContainerPort.
2873 # Most containers do not need this.
2874 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002875 },
2876 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002877 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
2878 # contents of terminationMessagePath to populate the container status message
2879 # on both success and failure. FallbackToLogsOnError will use the last chunk
2880 # of container log output if the termination message file is empty and the
2881 # container exited with an error. The log output is limited to 2048 bytes or
2882 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2883 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002884 "command": [ # Entrypoint array. Not executed within a shell.
2885 # The docker image's ENTRYPOINT is used if this is not provided.
2886 # Variable references $(VAR_NAME) are expanded using the container's
2887 # environment. If a variable cannot be resolved, the reference in the input
2888 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2889 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2890 # regardless of whether the variable exists or not.
2891 # Cannot be updated.
2892 # More info:
2893 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2894 # +optional
2895 "A String",
2896 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002897 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002898 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002899 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002900 { # EnvVar represents an environment variable present in a Container.
2901 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2902 #
2903 # Cloud Run on GKE: supported
2904 #
2905 # Source for the environment variable's value. Cannot be used if value is not
2906 # empty. +optional
2907 #
2908 # Cloud Run on GKE: supported
2909 #
2910 # EnvVarSource represents a source for the value of an EnvVar.
2911 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2912 #
2913 # Cloud Run on GKE: supported
2914 #
2915 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002916 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002917 #
2918 # Cloud Run on GKE: supported
2919 #
2920 # SecretKeySelector selects a key of a Secret.
2921 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2922 # directly into the message. Use the "name" field instead.
2923 # referenced object inside the same namespace.
2924 "name": "A String", # Name of the referent.
2925 # More info:
2926 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002927 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002928 "optional": True or False, # Cloud Run fully managed: not supported
2929 #
2930 # Cloud Run on GKE: supported
2931 #
2932 # Specify whether the Secret or its key must be defined
2933 # +optional
2934 "name": "A String", # Cloud Run fully managed: not supported
2935 #
2936 # Cloud Run on GKE: supported
2937 #
2938 # The name of the secret in the pod's namespace to select from.
2939 "key": "A String", # Cloud Run fully managed: not supported
2940 #
2941 # Cloud Run on GKE: supported
2942 #
2943 # The key of the secret to select from. Must be a valid secret key.
2944 },
2945 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2946 #
2947 # Cloud Run on GKE: supported
2948 #
2949 # Selects a key of a ConfigMap.
2950 # +optional
2951 #
2952 # Cloud Run on GKE: supported
2953 #
2954 # Selects a key from a ConfigMap.
2955 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2956 # directly into the message. Use the "name" field instead.
2957 # referenced object inside the same namespace.
2958 "name": "A String", # Name of the referent.
2959 # More info:
2960 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2961 },
2962 "optional": True or False, # Cloud Run fully managed: not supported
2963 #
2964 # Cloud Run on GKE: supported
2965 #
2966 # Specify whether the ConfigMap or its key must be defined
2967 # +optional
2968 "name": "A String", # Cloud Run fully managed: not supported
2969 #
2970 # Cloud Run on GKE: supported
2971 #
2972 # The ConfigMap to select from.
2973 "key": "A String", # Cloud Run fully managed: not supported
2974 #
2975 # Cloud Run on GKE: supported
2976 #
2977 # The key to select.
2978 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002979 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002980 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
2981 "value": "A String", # Variable references $(VAR_NAME) are expanded
2982 # using the previous defined environment variables in the container and
2983 # any route environment variables. If a variable cannot be resolved,
2984 # the reference in the input string will be unchanged. The $(VAR_NAME)
2985 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
2986 # references will never be expanded, regardless of whether the variable
2987 # exists or not.
2988 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002989 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002990 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002991 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002992 "imagePullPolicy": "A String", # Image pull policy.
2993 # One of Always, Never, IfNotPresent.
2994 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2995 # Cannot be updated.
2996 # More info:
2997 # https://kubernetes.io/docs/concepts/containers/images#updating-images
2998 # +optional
2999 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
3000 # Container will be removed from service endpoints if the probe fails.
3001 # Cannot be updated.
3002 # More info:
3003 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3004 # +optional
3005 # determine whether it is alive or ready to receive traffic.
3006 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
3007 # Defaults to 1 second. Minimum value is 1.
3008 # More info:
3009 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3010 # +optional
3011 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
3012 # are initiated. More info:
3013 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3014 # +optional
3015 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3016 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3017 # TCP hooks not yet supported
3018 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3019 # +optional
3020 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
3021 # Number must be in the range 1 to 65535.
3022 # Name must be an IANA_SVC_NAME.
3023 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3024 # inner type. This allows you to have, for example, a JSON field that can
3025 # accept a name or number.
3026 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07003027 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003028 "intVal": 42, # The int value.
3029 },
3030 },
3031 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3032 # +optional
3033 "path": "A String", # Path to access on the HTTP server.
3034 # +optional
3035 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3036 # "Host" in httpHeaders instead.
3037 # +optional
3038 "scheme": "A String", # Scheme to use for connecting to the host.
3039 # Defaults to HTTP.
3040 # +optional
3041 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
3042 # Number must be in the range 1 to 65535.
3043 # Name must be an IANA_SVC_NAME.
3044 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3045 # inner type. This allows you to have, for example, a JSON field that can
3046 # accept a name or number.
3047 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07003048 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003049 "intVal": 42, # The int value.
3050 },
3051 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3052 # +optional
3053 { # HTTPHeader describes a custom header to be used in HTTP probes
3054 "name": "A String", # The header field name
3055 "value": "A String", # The header field value
3056 },
3057 ],
3058 },
3059 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3060 # Exec specifies the action to take.
3061 # +optional
3062 "command": "A String", # Command is the command line to execute inside the container, the working
3063 # directory for the command is root ('/') in the container's filesystem. The
3064 # command is simply exec'd, it is not run inside a shell, so traditional
3065 # shell instructions ('|', etc) won't work. To use a shell, you need to
3066 # explicitly call out to that shell. Exit status of 0 is treated as
3067 # live/healthy and non-zero is unhealthy. +optional
3068 },
3069 },
3070 "periodSeconds": 42, # How often (in seconds) to perform the probe.
3071 # Default to 10 seconds. Minimum value is 1.
3072 # +optional
3073 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
3074 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3075 # is 1. +optional
3076 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
3077 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3078 },
3079 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
3080 # message will be written is mounted into the container's filesystem. Message
3081 # written is intended to be brief final status, such as an assertion failure
3082 # message. Will be truncated by the node if greater than 4096 bytes. The
3083 # total message length across all containers will be limited to 12kb.
3084 # Defaults to /dev/termination-log.
3085 # Cannot be updated.
3086 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003087 "image": "A String", # Docker image name.
3088 # More info: https://kubernetes.io/docs/concepts/containers/images
3089 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
3090 # lifecycle events. Cannot be updated. +optional
3091 # response to container lifecycle events. For the PostStart and PreStop
3092 # lifecycle handlers, management of the container blocks until the action is
3093 # complete, unless the container process fails, in which case the handler is
3094 # aborted.
3095 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
3096 # The container is terminated after the handler completes.
3097 # The reason for termination is passed to the handler.
3098 # Regardless of the outcome of the handler, the container is eventually
3099 # terminated. Other management of the container blocks until the hook
3100 # completes. More info:
3101 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3102 # +optional
3103 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3104 # TCP hooks not yet supported
3105 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3106 # +optional
3107 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
3108 # Number must be in the range 1 to 65535.
3109 # Name must be an IANA_SVC_NAME.
3110 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3111 # inner type. This allows you to have, for example, a JSON field that can
3112 # accept a name or number.
3113 "strVal": "A String", # The string value.
3114 "type": 42, # The type of the value.
3115 "intVal": 42, # The int value.
3116 },
3117 },
3118 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003119 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003120 "path": "A String", # Path to access on the HTTP server.
3121 # +optional
3122 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3123 # "Host" in httpHeaders instead.
3124 # +optional
3125 "scheme": "A String", # Scheme to use for connecting to the host.
3126 # Defaults to HTTP.
3127 # +optional
3128 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
3129 # Number must be in the range 1 to 65535.
3130 # Name must be an IANA_SVC_NAME.
3131 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3132 # inner type. This allows you to have, for example, a JSON field that can
3133 # accept a name or number.
3134 "strVal": "A String", # The string value.
3135 "type": 42, # The type of the value.
3136 "intVal": 42, # The int value.
3137 },
3138 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3139 # +optional
3140 { # HTTPHeader describes a custom header to be used in HTTP probes
3141 "name": "A String", # The header field name
3142 "value": "A String", # The header field value
3143 },
3144 ],
3145 },
3146 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3147 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003148 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003149 "command": "A String", # Command is the command line to execute inside the container, the working
3150 # directory for the command is root ('/') in the container's filesystem. The
3151 # command is simply exec'd, it is not run inside a shell, so traditional
3152 # shell instructions ('|', etc) won't work. To use a shell, you need to
3153 # explicitly call out to that shell. Exit status of 0 is treated as
3154 # live/healthy and non-zero is unhealthy. +optional
3155 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003156 },
Dan O'Mearadd494642020-05-01 07:42:23 -07003157 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
3158 # handler fails, the container is terminated and restarted according to its
3159 # restart policy. Other management of the container blocks until the hook
3160 # completes. More info:
3161 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3162 # +optional
3163 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3164 # TCP hooks not yet supported
3165 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3166 # +optional
3167 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
3168 # Number must be in the range 1 to 65535.
3169 # Name must be an IANA_SVC_NAME.
3170 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3171 # inner type. This allows you to have, for example, a JSON field that can
3172 # accept a name or number.
3173 "strVal": "A String", # The string value.
3174 "type": 42, # The type of the value.
3175 "intVal": 42, # The int value.
3176 },
3177 },
3178 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3179 # +optional
3180 "path": "A String", # Path to access on the HTTP server.
3181 # +optional
3182 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3183 # "Host" in httpHeaders instead.
3184 # +optional
3185 "scheme": "A String", # Scheme to use for connecting to the host.
3186 # Defaults to HTTP.
3187 # +optional
3188 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
3189 # Number must be in the range 1 to 65535.
3190 # Name must be an IANA_SVC_NAME.
3191 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3192 # inner type. This allows you to have, for example, a JSON field that can
3193 # accept a name or number.
3194 "strVal": "A String", # The string value.
3195 "type": 42, # The type of the value.
3196 "intVal": 42, # The int value.
3197 },
3198 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3199 # +optional
3200 { # HTTPHeader describes a custom header to be used in HTTP probes
3201 "name": "A String", # The header field name
3202 "value": "A String", # The header field value
3203 },
3204 ],
3205 },
3206 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3207 # Exec specifies the action to take.
3208 # +optional
3209 "command": "A String", # Command is the command line to execute inside the container, the working
3210 # directory for the command is root ('/') in the container's filesystem. The
3211 # command is simply exec'd, it is not run inside a shell, so traditional
3212 # shell instructions ('|', etc) won't work. To use a shell, you need to
3213 # explicitly call out to that shell. Exit status of 0 is treated as
3214 # live/healthy and non-zero is unhealthy. +optional
3215 },
3216 },
3217 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003218 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
3219 # Cannot be updated.
3220 # More info:
3221 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
3222 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003223 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
3224 # This is a temporary field created to migrate away from the
3225 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
3226 # with k8s style API.
3227 # This field is deprecated in favor of limits field.
3228 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
3229 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3230 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
3231 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003232 },
3233 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
3234 # If Requests is omitted for a container, it defaults to Limits if that is
3235 # explicitly specified, otherwise to an implementation-defined value.
3236 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07003237 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003238 # with k8s style API.
3239 # This field is deprecated in favor of requests field.
3240 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
3241 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3242 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
3243 },
3244 },
Dan O'Mearadd494642020-05-01 07:42:23 -07003245 "requests": { # Requests describes the minimum amount of compute resources required.
3246 # If Requests is omitted for a container, it defaults to Limits if that is
3247 # explicitly specified, otherwise to an implementation-defined value.
3248 # The values of the map is string form of the 'quantity' k8s type:
3249 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3250 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003251 },
3252 "limits": { # Limits describes the maximum amount of compute resources allowed.
3253 # The values of the map is string form of the 'quantity' k8s type:
3254 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3255 "a_key": "A String",
3256 },
3257 },
3258 "workingDir": "A String", # Container's working directory.
3259 # If not specified, the container runtime's default will be used, which
3260 # might be configured in the container image.
3261 # Cannot be updated.
3262 # +optional
3263 },
3264 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07003265 "serviceAccountName": "A String", # Email address of the IAM service account associated with the revision
3266 # of the service. The service account represents the identity of the
3267 # running revision, and determines what permissions the revision has. If
3268 # not provided, the revision will use the project's default service account.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003269 },
3270 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
3271 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07003272 # To set minimum instances for this revision, use the
3273 # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
3274 # To set maximum instances for this revision, use the
3275 # "autoscaling.knative.dev/maxScale" annotation key.
3276 # To set Cloud SQL connections for the revision, use the
3277 # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
3278 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003279 # all objects users must create.
3280 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
3281 # been deleted, this object will be garbage collected.
3282 # +optional
3283 { # OwnerReference contains enough information to let you identify an owning
3284 # object. Currently, an owning object must be in the same namespace, so there
3285 # is no namespace field.
3286 "kind": "A String", # Kind of the referent.
3287 # More info:
3288 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07003289 "name": "A String", # Name of the referent.
3290 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003291 "apiVersion": "A String", # API version of the referent.
3292 "controller": True or False, # If true, this reference points to the managing controller.
3293 # +optional
3294 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
3295 # the owner cannot be deleted from the key-value store until this
3296 # reference is removed.
3297 # Defaults to false.
3298 # To set this field, a user needs "delete" permission of the owner,
3299 # otherwise 422 (Unprocessable Entity) will be returned.
3300 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003301 "uid": "A String", # UID of the referent.
3302 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003303 },
3304 ],
3305 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
3306 # Is required when creating
3307 # resources, although some resources may allow a client to request the
3308 # generation of an appropriate name automatically. Name is primarily intended
3309 # for creation idempotence and configuration definition. Cannot be updated.
3310 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3311 # +optional
3312 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
3313 # deleted. This field is set by the server when a graceful deletion is
3314 # requested by the user, and is not directly settable by a client. The
3315 # resource is expected to be deleted (no longer visible from resource lists,
3316 # and not reachable by name) after the time in this field, once the
3317 # finalizers list is empty. As long as the finalizers list contains items,
3318 # deletion is blocked. Once the deletionTimestamp is set, this value may not
3319 # be unset or be set further into the future, although it may be shortened or
3320 # the resource may be deleted prior to this time. For example, a user may
3321 # request that a pod is deleted in 30 seconds. The Kubelet will react by
3322 # sending a graceful termination signal to the containers in the pod. After
3323 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3324 # to the container and after cleanup, remove the pod from the API. In the
3325 # presence of network partitions, this object may still exist after this
3326 # timestamp, until an administrator or automated process can determine the
3327 # resource is fully terminated.
3328 # If not set, graceful deletion of the object has not been requested.
3329 #
3330 # Populated by the system when a graceful deletion is requested.
3331 # Read-only.
3332 # More info:
3333 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3334 # +optional
3335 "clusterName": "A String", # Not currently supported by Cloud Run.
3336 #
3337 # The name of the cluster which the object belongs to.
3338 # This is used to distinguish resources with same name and namespace in
3339 # different clusters. This field is not set anywhere right now and apiserver
3340 # is going to ignore it if set in create or update request. +optional
3341 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
3342 #
3343 # Number of seconds allowed for this object to gracefully terminate before
3344 # it will be removed from the system. Only set when deletionTimestamp is also
3345 # set. May only be shortened. Read-only. +optional
3346 "labels": { # Map of string keys and values that can be used to organize and categorize
3347 # (scope and select) objects. May match selectors of replication controllers
3348 # and routes.
3349 # More info: http://kubernetes.io/docs/user-guide/labels
3350 # +optional
3351 "a_key": "A String",
3352 },
3353 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
3354 # Cloud Run region. In Cloud Run the namespace must be equal to either the
3355 # project ID or project number.
3356 "generation": 42, # A sequence number representing a specific generation of the desired state.
3357 # Populated by the system. Read-only.
3358 # +optional
3359 "finalizers": [ # Not currently supported by Cloud Run.
3360 #
3361 # Must be empty before the object is deleted from the registry. Each entry
3362 # is an identifier for the responsible component that will remove the entry
3363 # from the list. If the deletionTimestamp of the object is non-nil, entries
3364 # in this list can only be removed.
3365 # +optional
3366 # +patchStrategy=merge
3367 "A String",
3368 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003369 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
3370 # can be used by clients to determine when objects have changed. May be used
3371 # for optimistic concurrency, change detection, and the watch operation on a
3372 # resource or set of resources. Clients must treat these values as opaque and
3373 # passed unmodified back to the server. They may only be valid for a
3374 # particular resource or set of resources.
3375 #
3376 # Populated by the system.
3377 # Read-only.
3378 # Value must be treated as opaque by clients and .
3379 # More info:
3380 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3381 # +optional
3382 "generateName": "A String", # Not currently supported by Cloud Run.
3383 #
3384 # GenerateName is an optional prefix, used by the server, to generate a
3385 # unique name ONLY IF the Name field has not been provided. If this field is
3386 # used, the name returned to the client will be different than the name
3387 # passed. This value will also be combined with a unique suffix. The provided
3388 # value has the same validation rules as the Name field, and may be truncated
3389 # by the length of the suffix required to make the value unique on the
3390 # server.
3391 #
3392 # If this field is specified and the generated name exists, the server will
3393 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3394 # Reason ServerTimeout indicating a unique name could not be found in the
3395 # time allotted, and the client should retry (optionally after the time
3396 # indicated in the Retry-After header).
3397 #
3398 # Applied only if Name is not specified.
3399 # More info:
3400 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3401 # +optional
3402 # string generateName = 2;
3403 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
3404 # object was created. It is not guaranteed to be set in happens-before order
3405 # across separate operations. Clients may not set this value. It is
3406 # represented in RFC3339 form and is in UTC.
3407 #
3408 # Populated by the system.
3409 # Read-only.
3410 # Null for lists.
3411 # More info:
3412 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3413 # +optional
3414 "annotations": { # Annotations is an unstructured key value map stored with a resource that
3415 # may be set by external tools to store and retrieve arbitrary metadata. They
3416 # are not queryable and should be preserved when modifying objects. More
3417 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3418 "a_key": "A String",
3419 },
3420 "selfLink": "A String", # SelfLink is a URL representing this object.
3421 # Populated by the system.
3422 # Read-only.
3423 # +optional
3424 # string selfLink = 4;
3425 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
3426 # generated by the server on successful creation of a resource and is not
3427 # allowed to change on PUT operations.
3428 #
3429 # Populated by the system.
3430 # Read-only.
3431 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3432 # +optional
3433 },
3434 },
3435 },
Dan O'Mearadd494642020-05-01 07:42:23 -07003436 "apiVersion": "A String", # The API version for this call such as "serving.knative.dev/v1alpha1".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003437 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
3438 # labels, and annotations.
3439 # all objects users must create.
3440 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
3441 # been deleted, this object will be garbage collected.
3442 # +optional
3443 { # OwnerReference contains enough information to let you identify an owning
3444 # object. Currently, an owning object must be in the same namespace, so there
3445 # is no namespace field.
3446 "kind": "A String", # Kind of the referent.
3447 # More info:
3448 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07003449 "name": "A String", # Name of the referent.
3450 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003451 "apiVersion": "A String", # API version of the referent.
3452 "controller": True or False, # If true, this reference points to the managing controller.
3453 # +optional
3454 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
3455 # the owner cannot be deleted from the key-value store until this
3456 # reference is removed.
3457 # Defaults to false.
3458 # To set this field, a user needs "delete" permission of the owner,
3459 # otherwise 422 (Unprocessable Entity) will be returned.
3460 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003461 "uid": "A String", # UID of the referent.
3462 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003463 },
3464 ],
3465 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
3466 # Is required when creating
3467 # resources, although some resources may allow a client to request the
3468 # generation of an appropriate name automatically. Name is primarily intended
3469 # for creation idempotence and configuration definition. Cannot be updated.
3470 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3471 # +optional
3472 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
3473 # deleted. This field is set by the server when a graceful deletion is
3474 # requested by the user, and is not directly settable by a client. The
3475 # resource is expected to be deleted (no longer visible from resource lists,
3476 # and not reachable by name) after the time in this field, once the
3477 # finalizers list is empty. As long as the finalizers list contains items,
3478 # deletion is blocked. Once the deletionTimestamp is set, this value may not
3479 # be unset or be set further into the future, although it may be shortened or
3480 # the resource may be deleted prior to this time. For example, a user may
3481 # request that a pod is deleted in 30 seconds. The Kubelet will react by
3482 # sending a graceful termination signal to the containers in the pod. After
3483 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3484 # to the container and after cleanup, remove the pod from the API. In the
3485 # presence of network partitions, this object may still exist after this
3486 # timestamp, until an administrator or automated process can determine the
3487 # resource is fully terminated.
3488 # If not set, graceful deletion of the object has not been requested.
3489 #
3490 # Populated by the system when a graceful deletion is requested.
3491 # Read-only.
3492 # More info:
3493 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3494 # +optional
3495 "clusterName": "A String", # Not currently supported by Cloud Run.
3496 #
3497 # The name of the cluster which the object belongs to.
3498 # This is used to distinguish resources with same name and namespace in
3499 # different clusters. This field is not set anywhere right now and apiserver
3500 # is going to ignore it if set in create or update request. +optional
3501 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
3502 #
3503 # Number of seconds allowed for this object to gracefully terminate before
3504 # it will be removed from the system. Only set when deletionTimestamp is also
3505 # set. May only be shortened. Read-only. +optional
3506 "labels": { # Map of string keys and values that can be used to organize and categorize
3507 # (scope and select) objects. May match selectors of replication controllers
3508 # and routes.
3509 # More info: http://kubernetes.io/docs/user-guide/labels
3510 # +optional
3511 "a_key": "A String",
3512 },
3513 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
3514 # Cloud Run region. In Cloud Run the namespace must be equal to either the
3515 # project ID or project number.
3516 "generation": 42, # A sequence number representing a specific generation of the desired state.
3517 # Populated by the system. Read-only.
3518 # +optional
3519 "finalizers": [ # Not currently supported by Cloud Run.
3520 #
3521 # Must be empty before the object is deleted from the registry. Each entry
3522 # is an identifier for the responsible component that will remove the entry
3523 # from the list. If the deletionTimestamp of the object is non-nil, entries
3524 # in this list can only be removed.
3525 # +optional
3526 # +patchStrategy=merge
3527 "A String",
3528 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003529 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
3530 # can be used by clients to determine when objects have changed. May be used
3531 # for optimistic concurrency, change detection, and the watch operation on a
3532 # resource or set of resources. Clients must treat these values as opaque and
3533 # passed unmodified back to the server. They may only be valid for a
3534 # particular resource or set of resources.
3535 #
3536 # Populated by the system.
3537 # Read-only.
3538 # Value must be treated as opaque by clients and .
3539 # More info:
3540 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3541 # +optional
3542 "generateName": "A String", # Not currently supported by Cloud Run.
3543 #
3544 # GenerateName is an optional prefix, used by the server, to generate a
3545 # unique name ONLY IF the Name field has not been provided. If this field is
3546 # used, the name returned to the client will be different than the name
3547 # passed. This value will also be combined with a unique suffix. The provided
3548 # value has the same validation rules as the Name field, and may be truncated
3549 # by the length of the suffix required to make the value unique on the
3550 # server.
3551 #
3552 # If this field is specified and the generated name exists, the server will
3553 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3554 # Reason ServerTimeout indicating a unique name could not be found in the
3555 # time allotted, and the client should retry (optionally after the time
3556 # indicated in the Retry-After header).
3557 #
3558 # Applied only if Name is not specified.
3559 # More info:
3560 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3561 # +optional
3562 # string generateName = 2;
3563 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
3564 # object was created. It is not guaranteed to be set in happens-before order
3565 # across separate operations. Clients may not set this value. It is
3566 # represented in RFC3339 form and is in UTC.
3567 #
3568 # Populated by the system.
3569 # Read-only.
3570 # Null for lists.
3571 # More info:
3572 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3573 # +optional
3574 "annotations": { # Annotations is an unstructured key value map stored with a resource that
3575 # may be set by external tools to store and retrieve arbitrary metadata. They
3576 # are not queryable and should be preserved when modifying objects. More
3577 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3578 "a_key": "A String",
3579 },
3580 "selfLink": "A String", # SelfLink is a URL representing this object.
3581 # Populated by the system.
3582 # Read-only.
3583 # +optional
3584 # string selfLink = 4;
3585 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
3586 # generated by the server on successful creation of a resource and is not
3587 # allowed to change on PUT operations.
3588 #
3589 # Populated by the system.
3590 # Read-only.
3591 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3592 # +optional
3593 },
3594 }</pre>
3595</div>
3596
3597<div class="method">
3598 <code class="details" id="list">list(parent, labelSelector=None, includeUninitialized=None, x__xgafv=None, resourceVersion=None, limit=None, watch=None, continue=None, fieldSelector=None)</code>
3599 <pre>Rpc to list configurations.
3600
3601Args:
3602 parent: string, The project ID or project number from which the configurations should be
3603listed. (required)
3604 labelSelector: string, Allows to filter resources based on a label. Supported operations are
3605=, !=, exists, in, and notIn.
3606 includeUninitialized: boolean, Not currently used by Cloud Run.
3607 x__xgafv: string, V1 error format.
3608 Allowed values
3609 1 - v1 error format
3610 2 - v2 error format
3611 resourceVersion: string, The baseline resource version from which the list or watch operation should
3612start. Not currently used by Cloud Run.
3613 limit: integer, The maximum number of records that should be returned.
3614 watch: boolean, Flag that indicates that the client expects to watch this resource as well.
3615Not currently used by Cloud Run.
3616 continue: string, Optional encoded string to continue paging.
3617 fieldSelector: string, Allows to filter resources based on a specific value for a field name.
3618Send this in a query string format. i.e. 'metadata.name%3Dlorem'.
3619Not currently used by Cloud Run.
3620
3621Returns:
3622 An object of the form:
3623
3624 { # ListConfigurationsResponse is a list of Configuration resources.
3625 "unreachable": [ # Locations that could not be reached.
3626 "A String",
3627 ],
3628 "kind": "A String", # The kind of this resource, in this case "ConfigurationList".
3629 "items": [ # List of Configurations.
3630 { # Configuration represents the "floating HEAD" of a linear history of
3631 # Revisions, and optionally how the containers those revisions reference are
3632 # built. Users create new Revisions by updating the Configuration's spec. The
3633 # "latest created" revision's name is available under status, as is the "latest
3634 # ready" revision's name. See also:
3635 # https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
3636 "status": { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
3637 # controller).
3638 # (from the controller).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003639 "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Configuration that
3640 # was last processed by the controller. The observed generation is updated
3641 # even if the controller failed to process the spec and create the Revision.
3642 #
3643 # Clients polling for completed reconciliation should poll until
3644 # observedGeneration = metadata.generation, and the Ready condition's status
3645 # is True or False.
Dan O'Mearadd494642020-05-01 07:42:23 -07003646 "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
3647 # Configuration. It might not be ready yet, for that use
3648 # LatestReadyRevisionName.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003649 "conditions": [ # Conditions communicates information about ongoing/complete
3650 # reconciliation processes that bring the "spec" inline with the observed
3651 # state of the world.
3652 { # ConfigurationCondition defines a readiness condition for a Configuration.
3653 "status": "A String", # Status of the condition, one of True, False, Unknown.
3654 "severity": "A String", # How to interpret failures of this condition, one of Error, Warning, Info
3655 # +optional
3656 "lastTransitionTime": "A String", # Last time the condition transitioned from one status to another.
3657 # +optional
3658 "reason": "A String", # One-word CamelCase reason for the condition's last transition.
3659 # +optional
3660 "message": "A String", # Human-readable message indicating details about last transition.
3661 # +optional
3662 "type": "A String", # ConfigurationConditionType is used to communicate the status of the
3663 # reconciliation process. See also:
3664 # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
3665 # Types include:"Ready"
3666 },
3667 ],
3668 "latestReadyRevisionName": "A String", # LatestReadyRevisionName holds the name of the latest Revision stamped out
3669 # from this Configuration that has had its "Ready" condition become "True".
3670 },
3671 "kind": "A String", # The kind of resource, in this case always "Configuration".
3672 "spec": { # ConfigurationSpec holds the desired state of the Configuration (from the # Spec holds the desired state of the Configuration (from the client).
3673 # client).
3674 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
3675 # metadata.generation instead, which is the sequence number containing the
3676 # latest generation of the desired state.
3677 #
3678 # Read-only.
3679 "revisionTemplate": { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
3680 # be stamped out. The template references the container image, and may also
3681 # include labels and annotations that should be attached to the Revision.
3682 # To correlate a Revision, and/or to force a Revision to be created when the
3683 # spec doesn't otherwise change, a nonce label may be provided in the
3684 # template metadata. For more details, see:
3685 # https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions
3686 #
3687 # Cloud Run does not currently support referencing a build that is
3688 # responsible for materializing the container image from source.
3689 # from a template. Based on:
3690 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
3691 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
3692 "container": { # A single application container. # Container defines the unit of execution for this Revision.
3693 # In the context of a Revision, we disallow a number of the fields of
3694 # this Container, including: name, ports, and volumeMounts.
3695 # The runtime contract is documented here:
3696 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
3697 # This specifies both the container to run, the command to run in the container
3698 # and the arguments to supply to it.
3699 # Note that additional arguments may be supplied by the system to the container
3700 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07003701 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
3702 # Container will be restarted if the probe fails.
3703 # Cannot be updated.
3704 # More info:
3705 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3706 # +optional
3707 # determine whether it is alive or ready to receive traffic.
3708 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
3709 # Defaults to 1 second. Minimum value is 1.
3710 # More info:
3711 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3712 # +optional
3713 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
3714 # are initiated. More info:
3715 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3716 # +optional
3717 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3718 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3719 # TCP hooks not yet supported
3720 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3721 # +optional
3722 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
3723 # Number must be in the range 1 to 65535.
3724 # Name must be an IANA_SVC_NAME.
3725 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3726 # inner type. This allows you to have, for example, a JSON field that can
3727 # accept a name or number.
3728 "strVal": "A String", # The string value.
3729 "type": 42, # The type of the value.
3730 "intVal": 42, # The int value.
3731 },
3732 },
3733 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3734 # +optional
3735 "path": "A String", # Path to access on the HTTP server.
3736 # +optional
3737 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3738 # "Host" in httpHeaders instead.
3739 # +optional
3740 "scheme": "A String", # Scheme to use for connecting to the host.
3741 # Defaults to HTTP.
3742 # +optional
3743 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
3744 # Number must be in the range 1 to 65535.
3745 # Name must be an IANA_SVC_NAME.
3746 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3747 # inner type. This allows you to have, for example, a JSON field that can
3748 # accept a name or number.
3749 "strVal": "A String", # The string value.
3750 "type": 42, # The type of the value.
3751 "intVal": 42, # The int value.
3752 },
3753 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3754 # +optional
3755 { # HTTPHeader describes a custom header to be used in HTTP probes
3756 "name": "A String", # The header field name
3757 "value": "A String", # The header field value
3758 },
3759 ],
3760 },
3761 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3762 # Exec specifies the action to take.
3763 # +optional
3764 "command": "A String", # Command is the command line to execute inside the container, the working
3765 # directory for the command is root ('/') in the container's filesystem. The
3766 # command is simply exec'd, it is not run inside a shell, so traditional
3767 # shell instructions ('|', etc) won't work. To use a shell, you need to
3768 # explicitly call out to that shell. Exit status of 0 is treated as
3769 # live/healthy and non-zero is unhealthy. +optional
3770 },
3771 },
3772 "periodSeconds": 42, # How often (in seconds) to perform the probe.
3773 # Default to 10 seconds. Minimum value is 1.
3774 # +optional
3775 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
3776 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3777 # is 1. +optional
3778 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
3779 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3780 },
3781 "args": [ # Arguments to the entrypoint.
3782 # The docker image's CMD is used if this is not provided.
3783 # Variable references $(VAR_NAME) are expanded using the container's
3784 # environment. If a variable cannot be resolved, the reference in the input
3785 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
3786 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
3787 # regardless of whether the variable exists or not.
3788 # Cannot be updated.
3789 # More info:
3790 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
3791 # +optional
3792 "A String",
3793 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003794 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
3795 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
3796 # More info:
3797 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
3798 # +optional
3799 # container. Some fields are present in both SecurityContext and
3800 # PodSecurityContext. When both are set, the values in SecurityContext take
3801 # precedence.
3802 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
3803 # Default is false.
3804 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003805 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003806 # Uses runtime default if unset.
3807 # May also be set in PodSecurityContext. If set in both SecurityContext and
3808 # PodSecurityContext, the value specified in SecurityContext takes
3809 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003810 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
3811 # privileges than its parent process. This bool directly controls if
3812 # the no_new_privs flag will be set on the container process.
3813 # AllowPrivilegeEscalation is true always when the container is:
3814 # 1) run as Privileged
3815 # 2) has CAP_SYS_ADMIN
3816 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003817 "runAsUser": 42, # The UID to run the entrypoint of the container process.
3818 # Defaults to user specified in image metadata if unspecified.
3819 # May also be set in PodSecurityContext. If set in both SecurityContext and
3820 # PodSecurityContext, the value specified in SecurityContext takes
3821 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003822 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
3823 # Defaults to the default set of capabilities granted by the container
3824 # runtime. +optional
3825 "add": [ # Added capabilities
3826 # +optional
3827 "A String",
3828 ],
3829 "drop": [ # Removed capabilities
3830 # +optional
3831 "A String",
3832 ],
3833 },
3834 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
3835 # If true, the Kubelet will validate the image at runtime to ensure that it
3836 # does not run as UID 0 (root) and fail to start the container if it does.
3837 # If unset or false, no such validation will be performed.
3838 # May also be set in PodSecurityContext. If set in both SecurityContext and
3839 # PodSecurityContext, the value specified in SecurityContext takes
3840 # precedence. +optional
3841 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
3842 # If unspecified, the container runtime will allocate a random SELinux
3843 # context for each container. May also be set in PodSecurityContext. If set
3844 # in both SecurityContext and PodSecurityContext, the value specified in
3845 # SecurityContext takes precedence. +optional
3846 "role": "A String", # Role is a SELinux role label that applies to the container.
3847 # +optional
3848 "type": "A String", # Type is a SELinux type label that applies to the container.
3849 # +optional
3850 "user": "A String", # User is a SELinux user label that applies to the container.
3851 # +optional
3852 "level": "A String", # Level is SELinux level label that applies to the container.
3853 # +optional
3854 },
3855 "privileged": True or False, # Run container in privileged mode.
3856 # Processes in privileged containers are essentially equivalent to root on
3857 # the host. Defaults to false. +optional
3858 },
3859 "name": "A String", # Name of the container specified as a DNS_LABEL.
3860 # Each container must have a unique name (DNS_LABEL).
3861 # Cannot be updated.
3862 "envFrom": [ # List of sources to populate environment variables in the container.
3863 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
3864 # will be reported as an event when the container is starting. When a key
3865 # exists in multiple sources, the value associated with the last source will
3866 # take precedence. Values defined by an Env with a duplicate key will take
3867 # precedence. Cannot be updated. +optional
3868 { # EnvFromSource represents the source of a set of ConfigMaps
3869 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
3870 # +optional
3871 # variables with.
3872 #
3873 # The contents of the target Secret's Data field will represent the
3874 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07003875 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
3876 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003877 # referenced object inside the same namespace.
3878 "name": "A String", # Name of the referent.
3879 # More info:
3880 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3881 },
Dan O'Mearadd494642020-05-01 07:42:23 -07003882 "optional": True or False, # Cloud Run fully managed: not supported
3883 #
3884 # Cloud Run for Anthos: supported
3885 #
3886 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003887 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003888 "name": "A String", # Cloud Run fully managed: not supported
3889 #
3890 # Cloud Run for Anthos: supported
3891 #
3892 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003893 },
3894 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
3895 # +optional
3896 # variables with.
3897 #
3898 # The contents of the target ConfigMap's Data field will represent the
3899 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07003900 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
3901 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003902 # referenced object inside the same namespace.
3903 "name": "A String", # Name of the referent.
3904 # More info:
3905 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3906 },
Dan O'Mearadd494642020-05-01 07:42:23 -07003907 "optional": True or False, # Cloud Run fully managed: not supported
3908 #
3909 # Cloud Run for Anthos: supported
3910 #
3911 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003912 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003913 "name": "A String", # Cloud Run fully managed: not supported
3914 #
3915 # Cloud Run for Anthos: supported
3916 #
3917 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003918 },
3919 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
3920 # C_IDENTIFIER. +optional
3921 },
3922 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07003923 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
3924 # been opened by a single attach. When stdin is true the stdin stream will
3925 # remain open across multiple attach sessions. If stdinOnce is set to true,
3926 # stdin is opened on container start, is empty until the first client
3927 # attaches to stdin, and then remains open and accepts data until the client
3928 # disconnects, at which time stdin is closed and remains closed until the
3929 # container is restarted. If this flag is false, a container processes that
3930 # reads from stdin will never receive an EOF. Default is false +optional
3931 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
3932 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003933 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003934 { # volumeDevice describes a mapping of a raw block device within a container.
3935 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
3936 # mapped to.
3937 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003938 },
3939 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07003940 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
3941 # runtime. If this is not set, reads from stdin in the container will always
3942 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003943 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
3944 # Cannot be updated.
3945 # +optional
3946 { # VolumeMount describes a mounting of a Volume within a container.
3947 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
3948 # Defaults to false.
3949 # +optional
3950 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
3951 # to container and the other way around.
3952 # When not set, MountPropagationHostToContainer is used.
3953 # This field is beta in 1.10.
3954 # +optional
3955 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
3956 # Defaults to "" (volume's root).
3957 # +optional
3958 "name": "A String", # This must match the Name of a Volume.
3959 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
3960 # not contain ':'.
3961 },
3962 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07003963 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
3964 # 'stdin' to be true. Default is false. +optional
3965 "ports": [ # List of ports to expose from the container. Exposing a port here gives
3966 # the system additional information about the network connections a
3967 # container uses, but is primarily informational. Not specifying a port here
3968 # DOES NOT prevent that port from being exposed. Any port which is
3969 # listening on the default "0.0.0.0" address inside a container will be
3970 # accessible from the network.
3971 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003972 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07003973 { # ContainerPort represents a network port in a single container.
3974 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
3975 # Defaults to "TCP".
3976 # +optional
3977 "hostIP": "A String", # What host IP to bind the external port to.
3978 # +optional
3979 "containerPort": 42, # Number of port to expose on the pod's IP address.
3980 # This must be a valid port number, 0 &lt; x &lt; 65536.
3981 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
3982 # named port in a pod must have a unique name. Name for the port that can be
3983 # referred to by services.
3984 # +optional
3985 "hostPort": 42, # Number of port to expose on the host.
3986 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
3987 # If HostNetwork is specified, this must match ContainerPort.
3988 # Most containers do not need this.
3989 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003990 },
3991 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003992 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
3993 # contents of terminationMessagePath to populate the container status message
3994 # on both success and failure. FallbackToLogsOnError will use the last chunk
3995 # of container log output if the termination message file is empty and the
3996 # container exited with an error. The log output is limited to 2048 bytes or
3997 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
3998 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003999 "command": [ # Entrypoint array. Not executed within a shell.
4000 # The docker image's ENTRYPOINT is used if this is not provided.
4001 # Variable references $(VAR_NAME) are expanded using the container's
4002 # environment. If a variable cannot be resolved, the reference in the input
4003 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4004 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4005 # regardless of whether the variable exists or not.
4006 # Cannot be updated.
4007 # More info:
4008 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4009 # +optional
4010 "A String",
4011 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004012 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004013 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004014 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004015 { # EnvVar represents an environment variable present in a Container.
4016 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4017 #
4018 # Cloud Run on GKE: supported
4019 #
4020 # Source for the environment variable's value. Cannot be used if value is not
4021 # empty. +optional
4022 #
4023 # Cloud Run on GKE: supported
4024 #
4025 # EnvVarSource represents a source for the value of an EnvVar.
4026 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4027 #
4028 # Cloud Run on GKE: supported
4029 #
4030 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004031 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004032 #
4033 # Cloud Run on GKE: supported
4034 #
4035 # SecretKeySelector selects a key of a Secret.
4036 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4037 # directly into the message. Use the "name" field instead.
4038 # referenced object inside the same namespace.
4039 "name": "A String", # Name of the referent.
4040 # More info:
4041 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004042 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004043 "optional": True or False, # Cloud Run fully managed: not supported
4044 #
4045 # Cloud Run on GKE: supported
4046 #
4047 # Specify whether the Secret or its key must be defined
4048 # +optional
4049 "name": "A String", # Cloud Run fully managed: not supported
4050 #
4051 # Cloud Run on GKE: supported
4052 #
4053 # The name of the secret in the pod's namespace to select from.
4054 "key": "A String", # Cloud Run fully managed: not supported
4055 #
4056 # Cloud Run on GKE: supported
4057 #
4058 # The key of the secret to select from. Must be a valid secret key.
4059 },
4060 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4061 #
4062 # Cloud Run on GKE: supported
4063 #
4064 # Selects a key of a ConfigMap.
4065 # +optional
4066 #
4067 # Cloud Run on GKE: supported
4068 #
4069 # Selects a key from a ConfigMap.
4070 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4071 # directly into the message. Use the "name" field instead.
4072 # referenced object inside the same namespace.
4073 "name": "A String", # Name of the referent.
4074 # More info:
4075 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4076 },
4077 "optional": True or False, # Cloud Run fully managed: not supported
4078 #
4079 # Cloud Run on GKE: supported
4080 #
4081 # Specify whether the ConfigMap or its key must be defined
4082 # +optional
4083 "name": "A String", # Cloud Run fully managed: not supported
4084 #
4085 # Cloud Run on GKE: supported
4086 #
4087 # The ConfigMap to select from.
4088 "key": "A String", # Cloud Run fully managed: not supported
4089 #
4090 # Cloud Run on GKE: supported
4091 #
4092 # The key to select.
4093 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004094 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004095 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
4096 "value": "A String", # Variable references $(VAR_NAME) are expanded
4097 # using the previous defined environment variables in the container and
4098 # any route environment variables. If a variable cannot be resolved,
4099 # the reference in the input string will be unchanged. The $(VAR_NAME)
4100 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
4101 # references will never be expanded, regardless of whether the variable
4102 # exists or not.
4103 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004104 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004105 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004106 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004107 "imagePullPolicy": "A String", # Image pull policy.
4108 # One of Always, Never, IfNotPresent.
4109 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
4110 # Cannot be updated.
4111 # More info:
4112 # https://kubernetes.io/docs/concepts/containers/images#updating-images
4113 # +optional
4114 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
4115 # Container will be removed from service endpoints if the probe fails.
4116 # Cannot be updated.
4117 # More info:
4118 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4119 # +optional
4120 # determine whether it is alive or ready to receive traffic.
4121 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
4122 # Defaults to 1 second. Minimum value is 1.
4123 # More info:
4124 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4125 # +optional
4126 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
4127 # are initiated. More info:
4128 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4129 # +optional
4130 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4131 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4132 # TCP hooks not yet supported
4133 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4134 # +optional
4135 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4136 # Number must be in the range 1 to 65535.
4137 # Name must be an IANA_SVC_NAME.
4138 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4139 # inner type. This allows you to have, for example, a JSON field that can
4140 # accept a name or number.
4141 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07004142 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004143 "intVal": 42, # The int value.
4144 },
4145 },
4146 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4147 # +optional
4148 "path": "A String", # Path to access on the HTTP server.
4149 # +optional
4150 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4151 # "Host" in httpHeaders instead.
4152 # +optional
4153 "scheme": "A String", # Scheme to use for connecting to the host.
4154 # Defaults to HTTP.
4155 # +optional
4156 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
4157 # Number must be in the range 1 to 65535.
4158 # Name must be an IANA_SVC_NAME.
4159 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4160 # inner type. This allows you to have, for example, a JSON field that can
4161 # accept a name or number.
4162 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07004163 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004164 "intVal": 42, # The int value.
4165 },
4166 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4167 # +optional
4168 { # HTTPHeader describes a custom header to be used in HTTP probes
4169 "name": "A String", # The header field name
4170 "value": "A String", # The header field value
4171 },
4172 ],
4173 },
4174 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4175 # Exec specifies the action to take.
4176 # +optional
4177 "command": "A String", # Command is the command line to execute inside the container, the working
4178 # directory for the command is root ('/') in the container's filesystem. The
4179 # command is simply exec'd, it is not run inside a shell, so traditional
4180 # shell instructions ('|', etc) won't work. To use a shell, you need to
4181 # explicitly call out to that shell. Exit status of 0 is treated as
4182 # live/healthy and non-zero is unhealthy. +optional
4183 },
4184 },
4185 "periodSeconds": 42, # How often (in seconds) to perform the probe.
4186 # Default to 10 seconds. Minimum value is 1.
4187 # +optional
4188 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
4189 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4190 # is 1. +optional
4191 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
4192 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4193 },
4194 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
4195 # message will be written is mounted into the container's filesystem. Message
4196 # written is intended to be brief final status, such as an assertion failure
4197 # message. Will be truncated by the node if greater than 4096 bytes. The
4198 # total message length across all containers will be limited to 12kb.
4199 # Defaults to /dev/termination-log.
4200 # Cannot be updated.
4201 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004202 "image": "A String", # Docker image name.
4203 # More info: https://kubernetes.io/docs/concepts/containers/images
4204 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
4205 # lifecycle events. Cannot be updated. +optional
4206 # response to container lifecycle events. For the PostStart and PreStop
4207 # lifecycle handlers, management of the container blocks until the action is
4208 # complete, unless the container process fails, in which case the handler is
4209 # aborted.
4210 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
4211 # The container is terminated after the handler completes.
4212 # The reason for termination is passed to the handler.
4213 # Regardless of the outcome of the handler, the container is eventually
4214 # terminated. Other management of the container blocks until the hook
4215 # completes. More info:
4216 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4217 # +optional
4218 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4219 # TCP hooks not yet supported
4220 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4221 # +optional
4222 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4223 # Number must be in the range 1 to 65535.
4224 # Name must be an IANA_SVC_NAME.
4225 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4226 # inner type. This allows you to have, for example, a JSON field that can
4227 # accept a name or number.
4228 "strVal": "A String", # The string value.
4229 "type": 42, # The type of the value.
4230 "intVal": 42, # The int value.
4231 },
4232 },
4233 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004234 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004235 "path": "A String", # Path to access on the HTTP server.
4236 # +optional
4237 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4238 # "Host" in httpHeaders instead.
4239 # +optional
4240 "scheme": "A String", # Scheme to use for connecting to the host.
4241 # Defaults to HTTP.
4242 # +optional
4243 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
4244 # Number must be in the range 1 to 65535.
4245 # Name must be an IANA_SVC_NAME.
4246 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4247 # inner type. This allows you to have, for example, a JSON field that can
4248 # accept a name or number.
4249 "strVal": "A String", # The string value.
4250 "type": 42, # The type of the value.
4251 "intVal": 42, # The int value.
4252 },
4253 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4254 # +optional
4255 { # HTTPHeader describes a custom header to be used in HTTP probes
4256 "name": "A String", # The header field name
4257 "value": "A String", # The header field value
4258 },
4259 ],
4260 },
4261 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4262 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004263 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004264 "command": "A String", # Command is the command line to execute inside the container, the working
4265 # directory for the command is root ('/') in the container's filesystem. The
4266 # command is simply exec'd, it is not run inside a shell, so traditional
4267 # shell instructions ('|', etc) won't work. To use a shell, you need to
4268 # explicitly call out to that shell. Exit status of 0 is treated as
4269 # live/healthy and non-zero is unhealthy. +optional
4270 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004271 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004272 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
4273 # handler fails, the container is terminated and restarted according to its
4274 # restart policy. Other management of the container blocks until the hook
4275 # completes. More info:
4276 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4277 # +optional
4278 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4279 # TCP hooks not yet supported
4280 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4281 # +optional
4282 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4283 # Number must be in the range 1 to 65535.
4284 # Name must be an IANA_SVC_NAME.
4285 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4286 # inner type. This allows you to have, for example, a JSON field that can
4287 # accept a name or number.
4288 "strVal": "A String", # The string value.
4289 "type": 42, # The type of the value.
4290 "intVal": 42, # The int value.
4291 },
4292 },
4293 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4294 # +optional
4295 "path": "A String", # Path to access on the HTTP server.
4296 # +optional
4297 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4298 # "Host" in httpHeaders instead.
4299 # +optional
4300 "scheme": "A String", # Scheme to use for connecting to the host.
4301 # Defaults to HTTP.
4302 # +optional
4303 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
4304 # Number must be in the range 1 to 65535.
4305 # Name must be an IANA_SVC_NAME.
4306 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4307 # inner type. This allows you to have, for example, a JSON field that can
4308 # accept a name or number.
4309 "strVal": "A String", # The string value.
4310 "type": 42, # The type of the value.
4311 "intVal": 42, # The int value.
4312 },
4313 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4314 # +optional
4315 { # HTTPHeader describes a custom header to be used in HTTP probes
4316 "name": "A String", # The header field name
4317 "value": "A String", # The header field value
4318 },
4319 ],
4320 },
4321 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4322 # Exec specifies the action to take.
4323 # +optional
4324 "command": "A String", # Command is the command line to execute inside the container, the working
4325 # directory for the command is root ('/') in the container's filesystem. The
4326 # command is simply exec'd, it is not run inside a shell, so traditional
4327 # shell instructions ('|', etc) won't work. To use a shell, you need to
4328 # explicitly call out to that shell. Exit status of 0 is treated as
4329 # live/healthy and non-zero is unhealthy. +optional
4330 },
4331 },
4332 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004333 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
4334 # Cannot be updated.
4335 # More info:
4336 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
4337 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004338 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
4339 # This is a temporary field created to migrate away from the
4340 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
4341 # with k8s style API.
4342 # This field is deprecated in favor of limits field.
4343 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
4344 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4345 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
4346 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004347 },
4348 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
4349 # If Requests is omitted for a container, it defaults to Limits if that is
4350 # explicitly specified, otherwise to an implementation-defined value.
4351 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07004352 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004353 # with k8s style API.
4354 # This field is deprecated in favor of requests field.
4355 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
4356 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4357 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
4358 },
4359 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004360 "requests": { # Requests describes the minimum amount of compute resources required.
4361 # If Requests is omitted for a container, it defaults to Limits if that is
4362 # explicitly specified, otherwise to an implementation-defined value.
4363 # The values of the map is string form of the 'quantity' k8s type:
4364 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4365 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004366 },
4367 "limits": { # Limits describes the maximum amount of compute resources allowed.
4368 # The values of the map is string form of the 'quantity' k8s type:
4369 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4370 "a_key": "A String",
4371 },
4372 },
4373 "workingDir": "A String", # Container's working directory.
4374 # If not specified, the container runtime's default will be used, which
4375 # might be configured in the container image.
4376 # Cannot be updated.
4377 # +optional
4378 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004379 "volumes": [
4380 { # Volume represents a named volume in a container.
4381 "configMap": { # Adapts a ConfigMap into a volume.
4382 # The contents of the target ConfigMap's Data field will be presented in a
4383 # volume as files using the keys in the Data field as the file names, unless
4384 # the items element is populated with specific mappings of keys to paths.
4385 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
4386 # Secret will be projected into the volume as a file whose name is the
4387 # key and content is the value. If specified, the listed keys will be
4388 # projected into the specified paths, and unlisted keys will not be
4389 # present. If a key is specified which is not present in the Secret,
4390 # the volume setup will error unless it is marked optional.
4391 { # Maps a string key to a path within a volume.
4392 "path": "A String", # The relative path of the file to map the key to.
4393 # May not be an absolute path.
4394 # May not contain the path element '..'.
4395 # May not start with the string '..'.
4396 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
4397 # specified, the volume defaultMode will be used. This might be in conflict
4398 # with other options that affect the file mode, like fsGroup, and the result
4399 # can be other mode bits set. +optional
4400 "key": "A String", # The key to project.
4401 },
4402 ],
4403 "optional": True or False, # Specify whether the Secret or its keys must be defined.
4404 "name": "A String", # Name of the config.
4405 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
4406 # 0777. Defaults to 0644. Directories within the path are not affected by
4407 # this setting. This might be in conflict with other options that affect the
4408 # file mode, like fsGroup, and the result can be other mode bits set.
4409 },
4410 "secret": { # The contents of the target Secret's Data field will be presented in a volume
4411 # as files using the keys in the Data field as the file names.
4412 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
4413 # Secret will be projected into the volume as a file whose name is the
4414 # key and content is the value. If specified, the listed keys will be
4415 # projected into the specified paths, and unlisted keys will not be
4416 # present. If a key is specified which is not present in the Secret,
4417 # the volume setup will error unless it is marked optional.
4418 { # Maps a string key to a path within a volume.
4419 "path": "A String", # The relative path of the file to map the key to.
4420 # May not be an absolute path.
4421 # May not contain the path element '..'.
4422 # May not start with the string '..'.
4423 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
4424 # specified, the volume defaultMode will be used. This might be in conflict
4425 # with other options that affect the file mode, like fsGroup, and the result
4426 # can be other mode bits set. +optional
4427 "key": "A String", # The key to project.
4428 },
4429 ],
4430 "optional": True or False, # Specify whether the Secret or its keys must be defined.
4431 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
4432 # 0777. Defaults to 0644. Directories within the path are not affected by
4433 # this setting. This might be in conflict with other options that affect the
4434 # file mode, like fsGroup, and the result can be other mode bits set.
4435 "secretName": "A String", # Name of the secret in the container's namespace to use.
4436 },
4437 "name": "A String", # Volume's name.
4438 },
4439 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004440 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
4441 # responding to a request.
4442 # Not currently used by Cloud Run.
4443 "servingState": "A String", # ServingState holds a value describing the state the resources
4444 # are in for this Revision.
4445 # Users must not specify this when creating a revision. It is expected
4446 # that the system will manipulate this based on routability and load.
4447 #
4448 # Populated by the system.
4449 # Read-only.
4450 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
4451 # metadata.generation instead, which is the sequence number containing the
4452 # latest generation of the desired state.
4453 #
4454 # Read-only.
4455 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
4456 # (Single or Multi) for the Revision. Defaults to Multi.
4457 # Deprecated in favor of ContainerConcurrency.
4458 # +optional
4459 "containerConcurrency": 42, # (Optional)
4460 #
4461 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
4462 # requests per container instance of the Revision.
4463 #
4464 # Cloud Run fully managed: supported, defaults to 80
4465 #
4466 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
4467 # to the application is not limited, and the system decides the
4468 # target concurrency for the autoscaler.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004469 "containers": [ # Containers holds the single container that defines the unit of execution
4470 # for this Revision. In the context of a Revision, we disallow a number of
4471 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -07004472 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004473 { # A single application container.
4474 # This specifies both the container to run, the command to run in the container
4475 # and the arguments to supply to it.
4476 # Note that additional arguments may be supplied by the system to the container
4477 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07004478 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
4479 # Container will be restarted if the probe fails.
4480 # Cannot be updated.
4481 # More info:
4482 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4483 # +optional
4484 # determine whether it is alive or ready to receive traffic.
4485 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
4486 # Defaults to 1 second. Minimum value is 1.
4487 # More info:
4488 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4489 # +optional
4490 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
4491 # are initiated. More info:
4492 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4493 # +optional
4494 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4495 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4496 # TCP hooks not yet supported
4497 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4498 # +optional
4499 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4500 # Number must be in the range 1 to 65535.
4501 # Name must be an IANA_SVC_NAME.
4502 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4503 # inner type. This allows you to have, for example, a JSON field that can
4504 # accept a name or number.
4505 "strVal": "A String", # The string value.
4506 "type": 42, # The type of the value.
4507 "intVal": 42, # The int value.
4508 },
4509 },
4510 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4511 # +optional
4512 "path": "A String", # Path to access on the HTTP server.
4513 # +optional
4514 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4515 # "Host" in httpHeaders instead.
4516 # +optional
4517 "scheme": "A String", # Scheme to use for connecting to the host.
4518 # Defaults to HTTP.
4519 # +optional
4520 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
4521 # Number must be in the range 1 to 65535.
4522 # Name must be an IANA_SVC_NAME.
4523 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4524 # inner type. This allows you to have, for example, a JSON field that can
4525 # accept a name or number.
4526 "strVal": "A String", # The string value.
4527 "type": 42, # The type of the value.
4528 "intVal": 42, # The int value.
4529 },
4530 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4531 # +optional
4532 { # HTTPHeader describes a custom header to be used in HTTP probes
4533 "name": "A String", # The header field name
4534 "value": "A String", # The header field value
4535 },
4536 ],
4537 },
4538 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4539 # Exec specifies the action to take.
4540 # +optional
4541 "command": "A String", # Command is the command line to execute inside the container, the working
4542 # directory for the command is root ('/') in the container's filesystem. The
4543 # command is simply exec'd, it is not run inside a shell, so traditional
4544 # shell instructions ('|', etc) won't work. To use a shell, you need to
4545 # explicitly call out to that shell. Exit status of 0 is treated as
4546 # live/healthy and non-zero is unhealthy. +optional
4547 },
4548 },
4549 "periodSeconds": 42, # How often (in seconds) to perform the probe.
4550 # Default to 10 seconds. Minimum value is 1.
4551 # +optional
4552 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
4553 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4554 # is 1. +optional
4555 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
4556 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4557 },
4558 "args": [ # Arguments to the entrypoint.
4559 # The docker image's CMD is used if this is not provided.
4560 # Variable references $(VAR_NAME) are expanded using the container's
4561 # environment. If a variable cannot be resolved, the reference in the input
4562 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4563 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4564 # regardless of whether the variable exists or not.
4565 # Cannot be updated.
4566 # More info:
4567 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4568 # +optional
4569 "A String",
4570 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004571 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
4572 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
4573 # More info:
4574 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4575 # +optional
4576 # container. Some fields are present in both SecurityContext and
4577 # PodSecurityContext. When both are set, the values in SecurityContext take
4578 # precedence.
4579 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
4580 # Default is false.
4581 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004582 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004583 # Uses runtime default if unset.
4584 # May also be set in PodSecurityContext. If set in both SecurityContext and
4585 # PodSecurityContext, the value specified in SecurityContext takes
4586 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004587 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
4588 # privileges than its parent process. This bool directly controls if
4589 # the no_new_privs flag will be set on the container process.
4590 # AllowPrivilegeEscalation is true always when the container is:
4591 # 1) run as Privileged
4592 # 2) has CAP_SYS_ADMIN
4593 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004594 "runAsUser": 42, # The UID to run the entrypoint of the container process.
4595 # Defaults to user specified in image metadata if unspecified.
4596 # May also be set in PodSecurityContext. If set in both SecurityContext and
4597 # PodSecurityContext, the value specified in SecurityContext takes
4598 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004599 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
4600 # Defaults to the default set of capabilities granted by the container
4601 # runtime. +optional
4602 "add": [ # Added capabilities
4603 # +optional
4604 "A String",
4605 ],
4606 "drop": [ # Removed capabilities
4607 # +optional
4608 "A String",
4609 ],
4610 },
4611 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
4612 # If true, the Kubelet will validate the image at runtime to ensure that it
4613 # does not run as UID 0 (root) and fail to start the container if it does.
4614 # If unset or false, no such validation will be performed.
4615 # May also be set in PodSecurityContext. If set in both SecurityContext and
4616 # PodSecurityContext, the value specified in SecurityContext takes
4617 # precedence. +optional
4618 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
4619 # If unspecified, the container runtime will allocate a random SELinux
4620 # context for each container. May also be set in PodSecurityContext. If set
4621 # in both SecurityContext and PodSecurityContext, the value specified in
4622 # SecurityContext takes precedence. +optional
4623 "role": "A String", # Role is a SELinux role label that applies to the container.
4624 # +optional
4625 "type": "A String", # Type is a SELinux type label that applies to the container.
4626 # +optional
4627 "user": "A String", # User is a SELinux user label that applies to the container.
4628 # +optional
4629 "level": "A String", # Level is SELinux level label that applies to the container.
4630 # +optional
4631 },
4632 "privileged": True or False, # Run container in privileged mode.
4633 # Processes in privileged containers are essentially equivalent to root on
4634 # the host. Defaults to false. +optional
4635 },
4636 "name": "A String", # Name of the container specified as a DNS_LABEL.
4637 # Each container must have a unique name (DNS_LABEL).
4638 # Cannot be updated.
4639 "envFrom": [ # List of sources to populate environment variables in the container.
4640 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
4641 # will be reported as an event when the container is starting. When a key
4642 # exists in multiple sources, the value associated with the last source will
4643 # take precedence. Values defined by an Env with a duplicate key will take
4644 # precedence. Cannot be updated. +optional
4645 { # EnvFromSource represents the source of a set of ConfigMaps
4646 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
4647 # +optional
4648 # variables with.
4649 #
4650 # The contents of the target Secret's Data field will represent the
4651 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07004652 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4653 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004654 # referenced object inside the same namespace.
4655 "name": "A String", # Name of the referent.
4656 # More info:
4657 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4658 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004659 "optional": True or False, # Cloud Run fully managed: not supported
4660 #
4661 # Cloud Run for Anthos: supported
4662 #
4663 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004664 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004665 "name": "A String", # Cloud Run fully managed: not supported
4666 #
4667 # Cloud Run for Anthos: supported
4668 #
4669 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004670 },
4671 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
4672 # +optional
4673 # variables with.
4674 #
4675 # The contents of the target ConfigMap's Data field will represent the
4676 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07004677 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4678 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004679 # referenced object inside the same namespace.
4680 "name": "A String", # Name of the referent.
4681 # More info:
4682 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4683 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004684 "optional": True or False, # Cloud Run fully managed: not supported
4685 #
4686 # Cloud Run for Anthos: supported
4687 #
4688 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004689 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004690 "name": "A String", # Cloud Run fully managed: not supported
4691 #
4692 # Cloud Run for Anthos: supported
4693 #
4694 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004695 },
4696 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
4697 # C_IDENTIFIER. +optional
4698 },
4699 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004700 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
4701 # been opened by a single attach. When stdin is true the stdin stream will
4702 # remain open across multiple attach sessions. If stdinOnce is set to true,
4703 # stdin is opened on container start, is empty until the first client
4704 # attaches to stdin, and then remains open and accepts data until the client
4705 # disconnects, at which time stdin is closed and remains closed until the
4706 # container is restarted. If this flag is false, a container processes that
4707 # reads from stdin will never receive an EOF. Default is false +optional
4708 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
4709 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004710 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004711 { # volumeDevice describes a mapping of a raw block device within a container.
4712 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
4713 # mapped to.
4714 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004715 },
4716 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004717 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
4718 # runtime. If this is not set, reads from stdin in the container will always
4719 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004720 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
4721 # Cannot be updated.
4722 # +optional
4723 { # VolumeMount describes a mounting of a Volume within a container.
4724 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
4725 # Defaults to false.
4726 # +optional
4727 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
4728 # to container and the other way around.
4729 # When not set, MountPropagationHostToContainer is used.
4730 # This field is beta in 1.10.
4731 # +optional
4732 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
4733 # Defaults to "" (volume's root).
4734 # +optional
4735 "name": "A String", # This must match the Name of a Volume.
4736 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
4737 # not contain ':'.
4738 },
4739 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004740 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
4741 # 'stdin' to be true. Default is false. +optional
4742 "ports": [ # List of ports to expose from the container. Exposing a port here gives
4743 # the system additional information about the network connections a
4744 # container uses, but is primarily informational. Not specifying a port here
4745 # DOES NOT prevent that port from being exposed. Any port which is
4746 # listening on the default "0.0.0.0" address inside a container will be
4747 # accessible from the network.
4748 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004749 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004750 { # ContainerPort represents a network port in a single container.
4751 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
4752 # Defaults to "TCP".
4753 # +optional
4754 "hostIP": "A String", # What host IP to bind the external port to.
4755 # +optional
4756 "containerPort": 42, # Number of port to expose on the pod's IP address.
4757 # This must be a valid port number, 0 &lt; x &lt; 65536.
4758 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
4759 # named port in a pod must have a unique name. Name for the port that can be
4760 # referred to by services.
4761 # +optional
4762 "hostPort": 42, # Number of port to expose on the host.
4763 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
4764 # If HostNetwork is specified, this must match ContainerPort.
4765 # Most containers do not need this.
4766 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004767 },
4768 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004769 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
4770 # contents of terminationMessagePath to populate the container status message
4771 # on both success and failure. FallbackToLogsOnError will use the last chunk
4772 # of container log output if the termination message file is empty and the
4773 # container exited with an error. The log output is limited to 2048 bytes or
4774 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
4775 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004776 "command": [ # Entrypoint array. Not executed within a shell.
4777 # The docker image's ENTRYPOINT is used if this is not provided.
4778 # Variable references $(VAR_NAME) are expanded using the container's
4779 # environment. If a variable cannot be resolved, the reference in the input
4780 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4781 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4782 # regardless of whether the variable exists or not.
4783 # Cannot be updated.
4784 # More info:
4785 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4786 # +optional
4787 "A String",
4788 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07004789 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004790 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004791 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004792 { # EnvVar represents an environment variable present in a Container.
4793 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4794 #
4795 # Cloud Run on GKE: supported
4796 #
4797 # Source for the environment variable's value. Cannot be used if value is not
4798 # empty. +optional
4799 #
4800 # Cloud Run on GKE: supported
4801 #
4802 # EnvVarSource represents a source for the value of an EnvVar.
4803 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4804 #
4805 # Cloud Run on GKE: supported
4806 #
4807 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004808 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004809 #
4810 # Cloud Run on GKE: supported
4811 #
4812 # SecretKeySelector selects a key of a Secret.
4813 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4814 # directly into the message. Use the "name" field instead.
4815 # referenced object inside the same namespace.
4816 "name": "A String", # Name of the referent.
4817 # More info:
4818 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004819 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004820 "optional": True or False, # Cloud Run fully managed: not supported
4821 #
4822 # Cloud Run on GKE: supported
4823 #
4824 # Specify whether the Secret or its key must be defined
4825 # +optional
4826 "name": "A String", # Cloud Run fully managed: not supported
4827 #
4828 # Cloud Run on GKE: supported
4829 #
4830 # The name of the secret in the pod's namespace to select from.
4831 "key": "A String", # Cloud Run fully managed: not supported
4832 #
4833 # Cloud Run on GKE: supported
4834 #
4835 # The key of the secret to select from. Must be a valid secret key.
4836 },
4837 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4838 #
4839 # Cloud Run on GKE: supported
4840 #
4841 # Selects a key of a ConfigMap.
4842 # +optional
4843 #
4844 # Cloud Run on GKE: supported
4845 #
4846 # Selects a key from a ConfigMap.
4847 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4848 # directly into the message. Use the "name" field instead.
4849 # referenced object inside the same namespace.
4850 "name": "A String", # Name of the referent.
4851 # More info:
4852 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4853 },
4854 "optional": True or False, # Cloud Run fully managed: not supported
4855 #
4856 # Cloud Run on GKE: supported
4857 #
4858 # Specify whether the ConfigMap or its key must be defined
4859 # +optional
4860 "name": "A String", # Cloud Run fully managed: not supported
4861 #
4862 # Cloud Run on GKE: supported
4863 #
4864 # The ConfigMap to select from.
4865 "key": "A String", # Cloud Run fully managed: not supported
4866 #
4867 # Cloud Run on GKE: supported
4868 #
4869 # The key to select.
4870 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004871 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004872 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
4873 "value": "A String", # Variable references $(VAR_NAME) are expanded
4874 # using the previous defined environment variables in the container and
4875 # any route environment variables. If a variable cannot be resolved,
4876 # the reference in the input string will be unchanged. The $(VAR_NAME)
4877 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
4878 # references will never be expanded, regardless of whether the variable
4879 # exists or not.
4880 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004881 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004882 },
Dan O'Mearadd494642020-05-01 07:42:23 -07004883 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004884 "imagePullPolicy": "A String", # Image pull policy.
4885 # One of Always, Never, IfNotPresent.
4886 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
4887 # Cannot be updated.
4888 # More info:
4889 # https://kubernetes.io/docs/concepts/containers/images#updating-images
4890 # +optional
4891 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
4892 # Container will be removed from service endpoints if the probe fails.
4893 # Cannot be updated.
4894 # More info:
4895 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4896 # +optional
4897 # determine whether it is alive or ready to receive traffic.
4898 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
4899 # Defaults to 1 second. Minimum value is 1.
4900 # More info:
4901 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4902 # +optional
4903 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
4904 # are initiated. More info:
4905 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4906 # +optional
4907 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4908 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4909 # TCP hooks not yet supported
4910 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4911 # +optional
4912 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4913 # Number must be in the range 1 to 65535.
4914 # Name must be an IANA_SVC_NAME.
4915 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4916 # inner type. This allows you to have, for example, a JSON field that can
4917 # accept a name or number.
4918 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07004919 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004920 "intVal": 42, # The int value.
4921 },
4922 },
4923 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4924 # +optional
4925 "path": "A String", # Path to access on the HTTP server.
4926 # +optional
4927 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4928 # "Host" in httpHeaders instead.
4929 # +optional
4930 "scheme": "A String", # Scheme to use for connecting to the host.
4931 # Defaults to HTTP.
4932 # +optional
4933 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
4934 # Number must be in the range 1 to 65535.
4935 # Name must be an IANA_SVC_NAME.
4936 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4937 # inner type. This allows you to have, for example, a JSON field that can
4938 # accept a name or number.
4939 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07004940 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004941 "intVal": 42, # The int value.
4942 },
4943 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4944 # +optional
4945 { # HTTPHeader describes a custom header to be used in HTTP probes
4946 "name": "A String", # The header field name
4947 "value": "A String", # The header field value
4948 },
4949 ],
4950 },
4951 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4952 # Exec specifies the action to take.
4953 # +optional
4954 "command": "A String", # Command is the command line to execute inside the container, the working
4955 # directory for the command is root ('/') in the container's filesystem. The
4956 # command is simply exec'd, it is not run inside a shell, so traditional
4957 # shell instructions ('|', etc) won't work. To use a shell, you need to
4958 # explicitly call out to that shell. Exit status of 0 is treated as
4959 # live/healthy and non-zero is unhealthy. +optional
4960 },
4961 },
4962 "periodSeconds": 42, # How often (in seconds) to perform the probe.
4963 # Default to 10 seconds. Minimum value is 1.
4964 # +optional
4965 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
4966 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4967 # is 1. +optional
4968 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
4969 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4970 },
4971 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
4972 # message will be written is mounted into the container's filesystem. Message
4973 # written is intended to be brief final status, such as an assertion failure
4974 # message. Will be truncated by the node if greater than 4096 bytes. The
4975 # total message length across all containers will be limited to 12kb.
4976 # Defaults to /dev/termination-log.
4977 # Cannot be updated.
4978 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07004979 "image": "A String", # Docker image name.
4980 # More info: https://kubernetes.io/docs/concepts/containers/images
4981 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
4982 # lifecycle events. Cannot be updated. +optional
4983 # response to container lifecycle events. For the PostStart and PreStop
4984 # lifecycle handlers, management of the container blocks until the action is
4985 # complete, unless the container process fails, in which case the handler is
4986 # aborted.
4987 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
4988 # The container is terminated after the handler completes.
4989 # The reason for termination is passed to the handler.
4990 # Regardless of the outcome of the handler, the container is eventually
4991 # terminated. Other management of the container blocks until the hook
4992 # completes. More info:
4993 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4994 # +optional
4995 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4996 # TCP hooks not yet supported
4997 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4998 # +optional
4999 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5000 # Number must be in the range 1 to 65535.
5001 # Name must be an IANA_SVC_NAME.
5002 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5003 # inner type. This allows you to have, for example, a JSON field that can
5004 # accept a name or number.
5005 "strVal": "A String", # The string value.
5006 "type": 42, # The type of the value.
5007 "intVal": 42, # The int value.
5008 },
5009 },
5010 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005011 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005012 "path": "A String", # Path to access on the HTTP server.
5013 # +optional
5014 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5015 # "Host" in httpHeaders instead.
5016 # +optional
5017 "scheme": "A String", # Scheme to use for connecting to the host.
5018 # Defaults to HTTP.
5019 # +optional
5020 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5021 # Number must be in the range 1 to 65535.
5022 # Name must be an IANA_SVC_NAME.
5023 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5024 # inner type. This allows you to have, for example, a JSON field that can
5025 # accept a name or number.
5026 "strVal": "A String", # The string value.
5027 "type": 42, # The type of the value.
5028 "intVal": 42, # The int value.
5029 },
5030 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5031 # +optional
5032 { # HTTPHeader describes a custom header to be used in HTTP probes
5033 "name": "A String", # The header field name
5034 "value": "A String", # The header field value
5035 },
5036 ],
5037 },
5038 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5039 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005040 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005041 "command": "A String", # Command is the command line to execute inside the container, the working
5042 # directory for the command is root ('/') in the container's filesystem. The
5043 # command is simply exec'd, it is not run inside a shell, so traditional
5044 # shell instructions ('|', etc) won't work. To use a shell, you need to
5045 # explicitly call out to that shell. Exit status of 0 is treated as
5046 # live/healthy and non-zero is unhealthy. +optional
5047 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005048 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005049 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
5050 # handler fails, the container is terminated and restarted according to its
5051 # restart policy. Other management of the container blocks until the hook
5052 # completes. More info:
5053 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5054 # +optional
5055 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5056 # TCP hooks not yet supported
5057 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5058 # +optional
5059 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5060 # Number must be in the range 1 to 65535.
5061 # Name must be an IANA_SVC_NAME.
5062 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5063 # inner type. This allows you to have, for example, a JSON field that can
5064 # accept a name or number.
5065 "strVal": "A String", # The string value.
5066 "type": 42, # The type of the value.
5067 "intVal": 42, # The int value.
5068 },
5069 },
5070 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5071 # +optional
5072 "path": "A String", # Path to access on the HTTP server.
5073 # +optional
5074 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5075 # "Host" in httpHeaders instead.
5076 # +optional
5077 "scheme": "A String", # Scheme to use for connecting to the host.
5078 # Defaults to HTTP.
5079 # +optional
5080 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5081 # Number must be in the range 1 to 65535.
5082 # Name must be an IANA_SVC_NAME.
5083 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5084 # inner type. This allows you to have, for example, a JSON field that can
5085 # accept a name or number.
5086 "strVal": "A String", # The string value.
5087 "type": 42, # The type of the value.
5088 "intVal": 42, # The int value.
5089 },
5090 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5091 # +optional
5092 { # HTTPHeader describes a custom header to be used in HTTP probes
5093 "name": "A String", # The header field name
5094 "value": "A String", # The header field value
5095 },
5096 ],
5097 },
5098 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5099 # Exec specifies the action to take.
5100 # +optional
5101 "command": "A String", # Command is the command line to execute inside the container, the working
5102 # directory for the command is root ('/') in the container's filesystem. The
5103 # command is simply exec'd, it is not run inside a shell, so traditional
5104 # shell instructions ('|', etc) won't work. To use a shell, you need to
5105 # explicitly call out to that shell. Exit status of 0 is treated as
5106 # live/healthy and non-zero is unhealthy. +optional
5107 },
5108 },
5109 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005110 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
5111 # Cannot be updated.
5112 # More info:
5113 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
5114 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005115 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
5116 # This is a temporary field created to migrate away from the
5117 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
5118 # with k8s style API.
5119 # This field is deprecated in favor of limits field.
5120 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5121 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5122 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5123 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005124 },
5125 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
5126 # If Requests is omitted for a container, it defaults to Limits if that is
5127 # explicitly specified, otherwise to an implementation-defined value.
5128 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07005129 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005130 # with k8s style API.
5131 # This field is deprecated in favor of requests field.
5132 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5133 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5134 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5135 },
5136 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005137 "requests": { # Requests describes the minimum amount of compute resources required.
5138 # If Requests is omitted for a container, it defaults to Limits if that is
5139 # explicitly specified, otherwise to an implementation-defined value.
5140 # The values of the map is string form of the 'quantity' k8s type:
5141 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5142 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005143 },
5144 "limits": { # Limits describes the maximum amount of compute resources allowed.
5145 # The values of the map is string form of the 'quantity' k8s type:
5146 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5147 "a_key": "A String",
5148 },
5149 },
5150 "workingDir": "A String", # Container's working directory.
5151 # If not specified, the container runtime's default will be used, which
5152 # might be configured in the container image.
5153 # Cannot be updated.
5154 # +optional
5155 },
5156 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07005157 "serviceAccountName": "A String", # Email address of the IAM service account associated with the revision
5158 # of the service. The service account represents the identity of the
5159 # running revision, and determines what permissions the revision has. If
5160 # not provided, the revision will use the project's default service account.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005161 },
5162 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
5163 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07005164 # To set minimum instances for this revision, use the
5165 # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
5166 # To set maximum instances for this revision, use the
5167 # "autoscaling.knative.dev/maxScale" annotation key.
5168 # To set Cloud SQL connections for the revision, use the
5169 # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
5170 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005171 # all objects users must create.
5172 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
5173 # been deleted, this object will be garbage collected.
5174 # +optional
5175 { # OwnerReference contains enough information to let you identify an owning
5176 # object. Currently, an owning object must be in the same namespace, so there
5177 # is no namespace field.
5178 "kind": "A String", # Kind of the referent.
5179 # More info:
5180 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07005181 "name": "A String", # Name of the referent.
5182 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005183 "apiVersion": "A String", # API version of the referent.
5184 "controller": True or False, # If true, this reference points to the managing controller.
5185 # +optional
5186 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
5187 # the owner cannot be deleted from the key-value store until this
5188 # reference is removed.
5189 # Defaults to false.
5190 # To set this field, a user needs "delete" permission of the owner,
5191 # otherwise 422 (Unprocessable Entity) will be returned.
5192 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005193 "uid": "A String", # UID of the referent.
5194 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005195 },
5196 ],
5197 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
5198 # Is required when creating
5199 # resources, although some resources may allow a client to request the
5200 # generation of an appropriate name automatically. Name is primarily intended
5201 # for creation idempotence and configuration definition. Cannot be updated.
5202 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
5203 # +optional
5204 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
5205 # deleted. This field is set by the server when a graceful deletion is
5206 # requested by the user, and is not directly settable by a client. The
5207 # resource is expected to be deleted (no longer visible from resource lists,
5208 # and not reachable by name) after the time in this field, once the
5209 # finalizers list is empty. As long as the finalizers list contains items,
5210 # deletion is blocked. Once the deletionTimestamp is set, this value may not
5211 # be unset or be set further into the future, although it may be shortened or
5212 # the resource may be deleted prior to this time. For example, a user may
5213 # request that a pod is deleted in 30 seconds. The Kubelet will react by
5214 # sending a graceful termination signal to the containers in the pod. After
5215 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
5216 # to the container and after cleanup, remove the pod from the API. In the
5217 # presence of network partitions, this object may still exist after this
5218 # timestamp, until an administrator or automated process can determine the
5219 # resource is fully terminated.
5220 # If not set, graceful deletion of the object has not been requested.
5221 #
5222 # Populated by the system when a graceful deletion is requested.
5223 # Read-only.
5224 # More info:
5225 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
5226 # +optional
5227 "clusterName": "A String", # Not currently supported by Cloud Run.
5228 #
5229 # The name of the cluster which the object belongs to.
5230 # This is used to distinguish resources with same name and namespace in
5231 # different clusters. This field is not set anywhere right now and apiserver
5232 # is going to ignore it if set in create or update request. +optional
5233 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
5234 #
5235 # Number of seconds allowed for this object to gracefully terminate before
5236 # it will be removed from the system. Only set when deletionTimestamp is also
5237 # set. May only be shortened. Read-only. +optional
5238 "labels": { # Map of string keys and values that can be used to organize and categorize
5239 # (scope and select) objects. May match selectors of replication controllers
5240 # and routes.
5241 # More info: http://kubernetes.io/docs/user-guide/labels
5242 # +optional
5243 "a_key": "A String",
5244 },
5245 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
5246 # Cloud Run region. In Cloud Run the namespace must be equal to either the
5247 # project ID or project number.
5248 "generation": 42, # A sequence number representing a specific generation of the desired state.
5249 # Populated by the system. Read-only.
5250 # +optional
5251 "finalizers": [ # Not currently supported by Cloud Run.
5252 #
5253 # Must be empty before the object is deleted from the registry. Each entry
5254 # is an identifier for the responsible component that will remove the entry
5255 # from the list. If the deletionTimestamp of the object is non-nil, entries
5256 # in this list can only be removed.
5257 # +optional
5258 # +patchStrategy=merge
5259 "A String",
5260 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005261 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
5262 # can be used by clients to determine when objects have changed. May be used
5263 # for optimistic concurrency, change detection, and the watch operation on a
5264 # resource or set of resources. Clients must treat these values as opaque and
5265 # passed unmodified back to the server. They may only be valid for a
5266 # particular resource or set of resources.
5267 #
5268 # Populated by the system.
5269 # Read-only.
5270 # Value must be treated as opaque by clients and .
5271 # More info:
5272 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
5273 # +optional
5274 "generateName": "A String", # Not currently supported by Cloud Run.
5275 #
5276 # GenerateName is an optional prefix, used by the server, to generate a
5277 # unique name ONLY IF the Name field has not been provided. If this field is
5278 # used, the name returned to the client will be different than the name
5279 # passed. This value will also be combined with a unique suffix. The provided
5280 # value has the same validation rules as the Name field, and may be truncated
5281 # by the length of the suffix required to make the value unique on the
5282 # server.
5283 #
5284 # If this field is specified and the generated name exists, the server will
5285 # NOT return a 409 - instead, it will either return 201 Created or 500 with
5286 # Reason ServerTimeout indicating a unique name could not be found in the
5287 # time allotted, and the client should retry (optionally after the time
5288 # indicated in the Retry-After header).
5289 #
5290 # Applied only if Name is not specified.
5291 # More info:
5292 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
5293 # +optional
5294 # string generateName = 2;
5295 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
5296 # object was created. It is not guaranteed to be set in happens-before order
5297 # across separate operations. Clients may not set this value. It is
5298 # represented in RFC3339 form and is in UTC.
5299 #
5300 # Populated by the system.
5301 # Read-only.
5302 # Null for lists.
5303 # More info:
5304 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
5305 # +optional
5306 "annotations": { # Annotations is an unstructured key value map stored with a resource that
5307 # may be set by external tools to store and retrieve arbitrary metadata. They
5308 # are not queryable and should be preserved when modifying objects. More
5309 # info: http://kubernetes.io/docs/user-guide/annotations +optional
5310 "a_key": "A String",
5311 },
5312 "selfLink": "A String", # SelfLink is a URL representing this object.
5313 # Populated by the system.
5314 # Read-only.
5315 # +optional
5316 # string selfLink = 4;
5317 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
5318 # generated by the server on successful creation of a resource and is not
5319 # allowed to change on PUT operations.
5320 #
5321 # Populated by the system.
5322 # Read-only.
5323 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
5324 # +optional
5325 },
5326 },
5327 "template": { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005328 # from a template. Based on:
5329 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
5330 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
5331 "container": { # A single application container. # Container defines the unit of execution for this Revision.
5332 # In the context of a Revision, we disallow a number of the fields of
5333 # this Container, including: name, ports, and volumeMounts.
5334 # The runtime contract is documented here:
5335 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
5336 # This specifies both the container to run, the command to run in the container
5337 # and the arguments to supply to it.
5338 # Note that additional arguments may be supplied by the system to the container
5339 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07005340 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
5341 # Container will be restarted if the probe fails.
5342 # Cannot be updated.
5343 # More info:
5344 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5345 # +optional
5346 # determine whether it is alive or ready to receive traffic.
5347 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5348 # Defaults to 1 second. Minimum value is 1.
5349 # More info:
5350 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5351 # +optional
5352 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5353 # are initiated. More info:
5354 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5355 # +optional
5356 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5357 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5358 # TCP hooks not yet supported
5359 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5360 # +optional
5361 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5362 # Number must be in the range 1 to 65535.
5363 # Name must be an IANA_SVC_NAME.
5364 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5365 # inner type. This allows you to have, for example, a JSON field that can
5366 # accept a name or number.
5367 "strVal": "A String", # The string value.
5368 "type": 42, # The type of the value.
5369 "intVal": 42, # The int value.
5370 },
5371 },
5372 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5373 # +optional
5374 "path": "A String", # Path to access on the HTTP server.
5375 # +optional
5376 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5377 # "Host" in httpHeaders instead.
5378 # +optional
5379 "scheme": "A String", # Scheme to use for connecting to the host.
5380 # Defaults to HTTP.
5381 # +optional
5382 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5383 # Number must be in the range 1 to 65535.
5384 # Name must be an IANA_SVC_NAME.
5385 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5386 # inner type. This allows you to have, for example, a JSON field that can
5387 # accept a name or number.
5388 "strVal": "A String", # The string value.
5389 "type": 42, # The type of the value.
5390 "intVal": 42, # The int value.
5391 },
5392 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5393 # +optional
5394 { # HTTPHeader describes a custom header to be used in HTTP probes
5395 "name": "A String", # The header field name
5396 "value": "A String", # The header field value
5397 },
5398 ],
5399 },
5400 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5401 # Exec specifies the action to take.
5402 # +optional
5403 "command": "A String", # Command is the command line to execute inside the container, the working
5404 # directory for the command is root ('/') in the container's filesystem. The
5405 # command is simply exec'd, it is not run inside a shell, so traditional
5406 # shell instructions ('|', etc) won't work. To use a shell, you need to
5407 # explicitly call out to that shell. Exit status of 0 is treated as
5408 # live/healthy and non-zero is unhealthy. +optional
5409 },
5410 },
5411 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5412 # Default to 10 seconds. Minimum value is 1.
5413 # +optional
5414 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5415 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5416 # is 1. +optional
5417 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5418 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5419 },
5420 "args": [ # Arguments to the entrypoint.
5421 # The docker image's CMD is used if this is not provided.
5422 # Variable references $(VAR_NAME) are expanded using the container's
5423 # environment. If a variable cannot be resolved, the reference in the input
5424 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5425 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5426 # regardless of whether the variable exists or not.
5427 # Cannot be updated.
5428 # More info:
5429 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5430 # +optional
5431 "A String",
5432 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005433 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
5434 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
5435 # More info:
5436 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
5437 # +optional
5438 # container. Some fields are present in both SecurityContext and
5439 # PodSecurityContext. When both are set, the values in SecurityContext take
5440 # precedence.
5441 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
5442 # Default is false.
5443 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005444 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005445 # Uses runtime default if unset.
5446 # May also be set in PodSecurityContext. If set in both SecurityContext and
5447 # PodSecurityContext, the value specified in SecurityContext takes
5448 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005449 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
5450 # privileges than its parent process. This bool directly controls if
5451 # the no_new_privs flag will be set on the container process.
5452 # AllowPrivilegeEscalation is true always when the container is:
5453 # 1) run as Privileged
5454 # 2) has CAP_SYS_ADMIN
5455 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005456 "runAsUser": 42, # The UID to run the entrypoint of the container process.
5457 # Defaults to user specified in image metadata if unspecified.
5458 # May also be set in PodSecurityContext. If set in both SecurityContext and
5459 # PodSecurityContext, the value specified in SecurityContext takes
5460 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005461 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
5462 # Defaults to the default set of capabilities granted by the container
5463 # runtime. +optional
5464 "add": [ # Added capabilities
5465 # +optional
5466 "A String",
5467 ],
5468 "drop": [ # Removed capabilities
5469 # +optional
5470 "A String",
5471 ],
5472 },
5473 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
5474 # If true, the Kubelet will validate the image at runtime to ensure that it
5475 # does not run as UID 0 (root) and fail to start the container if it does.
5476 # If unset or false, no such validation will be performed.
5477 # May also be set in PodSecurityContext. If set in both SecurityContext and
5478 # PodSecurityContext, the value specified in SecurityContext takes
5479 # precedence. +optional
5480 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
5481 # If unspecified, the container runtime will allocate a random SELinux
5482 # context for each container. May also be set in PodSecurityContext. If set
5483 # in both SecurityContext and PodSecurityContext, the value specified in
5484 # SecurityContext takes precedence. +optional
5485 "role": "A String", # Role is a SELinux role label that applies to the container.
5486 # +optional
5487 "type": "A String", # Type is a SELinux type label that applies to the container.
5488 # +optional
5489 "user": "A String", # User is a SELinux user label that applies to the container.
5490 # +optional
5491 "level": "A String", # Level is SELinux level label that applies to the container.
5492 # +optional
5493 },
5494 "privileged": True or False, # Run container in privileged mode.
5495 # Processes in privileged containers are essentially equivalent to root on
5496 # the host. Defaults to false. +optional
5497 },
5498 "name": "A String", # Name of the container specified as a DNS_LABEL.
5499 # Each container must have a unique name (DNS_LABEL).
5500 # Cannot be updated.
5501 "envFrom": [ # List of sources to populate environment variables in the container.
5502 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
5503 # will be reported as an event when the container is starting. When a key
5504 # exists in multiple sources, the value associated with the last source will
5505 # take precedence. Values defined by an Env with a duplicate key will take
5506 # precedence. Cannot be updated. +optional
5507 { # EnvFromSource represents the source of a set of ConfigMaps
5508 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
5509 # +optional
5510 # variables with.
5511 #
5512 # The contents of the target Secret's Data field will represent the
5513 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07005514 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5515 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005516 # referenced object inside the same namespace.
5517 "name": "A String", # Name of the referent.
5518 # More info:
5519 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5520 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005521 "optional": True or False, # Cloud Run fully managed: not supported
5522 #
5523 # Cloud Run for Anthos: supported
5524 #
5525 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005526 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005527 "name": "A String", # Cloud Run fully managed: not supported
5528 #
5529 # Cloud Run for Anthos: supported
5530 #
5531 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005532 },
5533 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
5534 # +optional
5535 # variables with.
5536 #
5537 # The contents of the target ConfigMap's Data field will represent the
5538 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07005539 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5540 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005541 # referenced object inside the same namespace.
5542 "name": "A String", # Name of the referent.
5543 # More info:
5544 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5545 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005546 "optional": True or False, # Cloud Run fully managed: not supported
5547 #
5548 # Cloud Run for Anthos: supported
5549 #
5550 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005551 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005552 "name": "A String", # Cloud Run fully managed: not supported
5553 #
5554 # Cloud Run for Anthos: supported
5555 #
5556 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005557 },
5558 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
5559 # C_IDENTIFIER. +optional
5560 },
5561 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07005562 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
5563 # been opened by a single attach. When stdin is true the stdin stream will
5564 # remain open across multiple attach sessions. If stdinOnce is set to true,
5565 # stdin is opened on container start, is empty until the first client
5566 # attaches to stdin, and then remains open and accepts data until the client
5567 # disconnects, at which time stdin is closed and remains closed until the
5568 # container is restarted. If this flag is false, a container processes that
5569 # reads from stdin will never receive an EOF. Default is false +optional
5570 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
5571 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005572 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005573 { # volumeDevice describes a mapping of a raw block device within a container.
5574 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
5575 # mapped to.
5576 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005577 },
5578 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07005579 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
5580 # runtime. If this is not set, reads from stdin in the container will always
5581 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005582 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
5583 # Cannot be updated.
5584 # +optional
5585 { # VolumeMount describes a mounting of a Volume within a container.
5586 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
5587 # Defaults to false.
5588 # +optional
5589 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
5590 # to container and the other way around.
5591 # When not set, MountPropagationHostToContainer is used.
5592 # This field is beta in 1.10.
5593 # +optional
5594 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
5595 # Defaults to "" (volume's root).
5596 # +optional
5597 "name": "A String", # This must match the Name of a Volume.
5598 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
5599 # not contain ':'.
5600 },
5601 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07005602 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
5603 # 'stdin' to be true. Default is false. +optional
5604 "ports": [ # List of ports to expose from the container. Exposing a port here gives
5605 # the system additional information about the network connections a
5606 # container uses, but is primarily informational. Not specifying a port here
5607 # DOES NOT prevent that port from being exposed. Any port which is
5608 # listening on the default "0.0.0.0" address inside a container will be
5609 # accessible from the network.
5610 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005611 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005612 { # ContainerPort represents a network port in a single container.
5613 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
5614 # Defaults to "TCP".
5615 # +optional
5616 "hostIP": "A String", # What host IP to bind the external port to.
5617 # +optional
5618 "containerPort": 42, # Number of port to expose on the pod's IP address.
5619 # This must be a valid port number, 0 &lt; x &lt; 65536.
5620 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
5621 # named port in a pod must have a unique name. Name for the port that can be
5622 # referred to by services.
5623 # +optional
5624 "hostPort": 42, # Number of port to expose on the host.
5625 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
5626 # If HostNetwork is specified, this must match ContainerPort.
5627 # Most containers do not need this.
5628 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005629 },
5630 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005631 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
5632 # contents of terminationMessagePath to populate the container status message
5633 # on both success and failure. FallbackToLogsOnError will use the last chunk
5634 # of container log output if the termination message file is empty and the
5635 # container exited with an error. The log output is limited to 2048 bytes or
5636 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
5637 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005638 "command": [ # Entrypoint array. Not executed within a shell.
5639 # The docker image's ENTRYPOINT is used if this is not provided.
5640 # Variable references $(VAR_NAME) are expanded using the container's
5641 # environment. If a variable cannot be resolved, the reference in the input
5642 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5643 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5644 # regardless of whether the variable exists or not.
5645 # Cannot be updated.
5646 # More info:
5647 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5648 # +optional
5649 "A String",
5650 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07005651 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005652 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005653 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005654 { # EnvVar represents an environment variable present in a Container.
5655 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5656 #
5657 # Cloud Run on GKE: supported
5658 #
5659 # Source for the environment variable's value. Cannot be used if value is not
5660 # empty. +optional
5661 #
5662 # Cloud Run on GKE: supported
5663 #
5664 # EnvVarSource represents a source for the value of an EnvVar.
5665 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5666 #
5667 # Cloud Run on GKE: supported
5668 #
5669 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005670 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005671 #
5672 # Cloud Run on GKE: supported
5673 #
5674 # SecretKeySelector selects a key of a Secret.
5675 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5676 # directly into the message. Use the "name" field instead.
5677 # referenced object inside the same namespace.
5678 "name": "A String", # Name of the referent.
5679 # More info:
5680 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005681 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005682 "optional": True or False, # Cloud Run fully managed: not supported
5683 #
5684 # Cloud Run on GKE: supported
5685 #
5686 # Specify whether the Secret or its key must be defined
5687 # +optional
5688 "name": "A String", # Cloud Run fully managed: not supported
5689 #
5690 # Cloud Run on GKE: supported
5691 #
5692 # The name of the secret in the pod's namespace to select from.
5693 "key": "A String", # Cloud Run fully managed: not supported
5694 #
5695 # Cloud Run on GKE: supported
5696 #
5697 # The key of the secret to select from. Must be a valid secret key.
5698 },
5699 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5700 #
5701 # Cloud Run on GKE: supported
5702 #
5703 # Selects a key of a ConfigMap.
5704 # +optional
5705 #
5706 # Cloud Run on GKE: supported
5707 #
5708 # Selects a key from a ConfigMap.
5709 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5710 # directly into the message. Use the "name" field instead.
5711 # referenced object inside the same namespace.
5712 "name": "A String", # Name of the referent.
5713 # More info:
5714 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5715 },
5716 "optional": True or False, # Cloud Run fully managed: not supported
5717 #
5718 # Cloud Run on GKE: supported
5719 #
5720 # Specify whether the ConfigMap or its key must be defined
5721 # +optional
5722 "name": "A String", # Cloud Run fully managed: not supported
5723 #
5724 # Cloud Run on GKE: supported
5725 #
5726 # The ConfigMap to select from.
5727 "key": "A String", # Cloud Run fully managed: not supported
5728 #
5729 # Cloud Run on GKE: supported
5730 #
5731 # The key to select.
5732 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005733 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005734 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
5735 "value": "A String", # Variable references $(VAR_NAME) are expanded
5736 # using the previous defined environment variables in the container and
5737 # any route environment variables. If a variable cannot be resolved,
5738 # the reference in the input string will be unchanged. The $(VAR_NAME)
5739 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
5740 # references will never be expanded, regardless of whether the variable
5741 # exists or not.
5742 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005743 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005744 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005745 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005746 "imagePullPolicy": "A String", # Image pull policy.
5747 # One of Always, Never, IfNotPresent.
5748 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
5749 # Cannot be updated.
5750 # More info:
5751 # https://kubernetes.io/docs/concepts/containers/images#updating-images
5752 # +optional
5753 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
5754 # Container will be removed from service endpoints if the probe fails.
5755 # Cannot be updated.
5756 # More info:
5757 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5758 # +optional
5759 # determine whether it is alive or ready to receive traffic.
5760 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5761 # Defaults to 1 second. Minimum value is 1.
5762 # More info:
5763 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5764 # +optional
5765 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5766 # are initiated. More info:
5767 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5768 # +optional
5769 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5770 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5771 # TCP hooks not yet supported
5772 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5773 # +optional
5774 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5775 # Number must be in the range 1 to 65535.
5776 # Name must be an IANA_SVC_NAME.
5777 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5778 # inner type. This allows you to have, for example, a JSON field that can
5779 # accept a name or number.
5780 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07005781 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005782 "intVal": 42, # The int value.
5783 },
5784 },
5785 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5786 # +optional
5787 "path": "A String", # Path to access on the HTTP server.
5788 # +optional
5789 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5790 # "Host" in httpHeaders instead.
5791 # +optional
5792 "scheme": "A String", # Scheme to use for connecting to the host.
5793 # Defaults to HTTP.
5794 # +optional
5795 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5796 # Number must be in the range 1 to 65535.
5797 # Name must be an IANA_SVC_NAME.
5798 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5799 # inner type. This allows you to have, for example, a JSON field that can
5800 # accept a name or number.
5801 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07005802 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005803 "intVal": 42, # The int value.
5804 },
5805 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5806 # +optional
5807 { # HTTPHeader describes a custom header to be used in HTTP probes
5808 "name": "A String", # The header field name
5809 "value": "A String", # The header field value
5810 },
5811 ],
5812 },
5813 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5814 # Exec specifies the action to take.
5815 # +optional
5816 "command": "A String", # Command is the command line to execute inside the container, the working
5817 # directory for the command is root ('/') in the container's filesystem. The
5818 # command is simply exec'd, it is not run inside a shell, so traditional
5819 # shell instructions ('|', etc) won't work. To use a shell, you need to
5820 # explicitly call out to that shell. Exit status of 0 is treated as
5821 # live/healthy and non-zero is unhealthy. +optional
5822 },
5823 },
5824 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5825 # Default to 10 seconds. Minimum value is 1.
5826 # +optional
5827 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5828 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5829 # is 1. +optional
5830 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5831 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5832 },
5833 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
5834 # message will be written is mounted into the container's filesystem. Message
5835 # written is intended to be brief final status, such as an assertion failure
5836 # message. Will be truncated by the node if greater than 4096 bytes. The
5837 # total message length across all containers will be limited to 12kb.
5838 # Defaults to /dev/termination-log.
5839 # Cannot be updated.
5840 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005841 "image": "A String", # Docker image name.
5842 # More info: https://kubernetes.io/docs/concepts/containers/images
5843 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
5844 # lifecycle events. Cannot be updated. +optional
5845 # response to container lifecycle events. For the PostStart and PreStop
5846 # lifecycle handlers, management of the container blocks until the action is
5847 # complete, unless the container process fails, in which case the handler is
5848 # aborted.
5849 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
5850 # The container is terminated after the handler completes.
5851 # The reason for termination is passed to the handler.
5852 # Regardless of the outcome of the handler, the container is eventually
5853 # terminated. Other management of the container blocks until the hook
5854 # completes. More info:
5855 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5856 # +optional
5857 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5858 # TCP hooks not yet supported
5859 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5860 # +optional
5861 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5862 # Number must be in the range 1 to 65535.
5863 # Name must be an IANA_SVC_NAME.
5864 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5865 # inner type. This allows you to have, for example, a JSON field that can
5866 # accept a name or number.
5867 "strVal": "A String", # The string value.
5868 "type": 42, # The type of the value.
5869 "intVal": 42, # The int value.
5870 },
5871 },
5872 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005873 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005874 "path": "A String", # Path to access on the HTTP server.
5875 # +optional
5876 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5877 # "Host" in httpHeaders instead.
5878 # +optional
5879 "scheme": "A String", # Scheme to use for connecting to the host.
5880 # Defaults to HTTP.
5881 # +optional
5882 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5883 # Number must be in the range 1 to 65535.
5884 # Name must be an IANA_SVC_NAME.
5885 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5886 # inner type. This allows you to have, for example, a JSON field that can
5887 # accept a name or number.
5888 "strVal": "A String", # The string value.
5889 "type": 42, # The type of the value.
5890 "intVal": 42, # The int value.
5891 },
5892 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5893 # +optional
5894 { # HTTPHeader describes a custom header to be used in HTTP probes
5895 "name": "A String", # The header field name
5896 "value": "A String", # The header field value
5897 },
5898 ],
5899 },
5900 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5901 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005902 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005903 "command": "A String", # Command is the command line to execute inside the container, the working
5904 # directory for the command is root ('/') in the container's filesystem. The
5905 # command is simply exec'd, it is not run inside a shell, so traditional
5906 # shell instructions ('|', etc) won't work. To use a shell, you need to
5907 # explicitly call out to that shell. Exit status of 0 is treated as
5908 # live/healthy and non-zero is unhealthy. +optional
5909 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005910 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005911 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
5912 # handler fails, the container is terminated and restarted according to its
5913 # restart policy. Other management of the container blocks until the hook
5914 # completes. More info:
5915 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5916 # +optional
5917 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5918 # TCP hooks not yet supported
5919 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5920 # +optional
5921 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
5922 # Number must be in the range 1 to 65535.
5923 # Name must be an IANA_SVC_NAME.
5924 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5925 # inner type. This allows you to have, for example, a JSON field that can
5926 # accept a name or number.
5927 "strVal": "A String", # The string value.
5928 "type": 42, # The type of the value.
5929 "intVal": 42, # The int value.
5930 },
5931 },
5932 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5933 # +optional
5934 "path": "A String", # Path to access on the HTTP server.
5935 # +optional
5936 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5937 # "Host" in httpHeaders instead.
5938 # +optional
5939 "scheme": "A String", # Scheme to use for connecting to the host.
5940 # Defaults to HTTP.
5941 # +optional
5942 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
5943 # Number must be in the range 1 to 65535.
5944 # Name must be an IANA_SVC_NAME.
5945 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5946 # inner type. This allows you to have, for example, a JSON field that can
5947 # accept a name or number.
5948 "strVal": "A String", # The string value.
5949 "type": 42, # The type of the value.
5950 "intVal": 42, # The int value.
5951 },
5952 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5953 # +optional
5954 { # HTTPHeader describes a custom header to be used in HTTP probes
5955 "name": "A String", # The header field name
5956 "value": "A String", # The header field value
5957 },
5958 ],
5959 },
5960 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5961 # Exec specifies the action to take.
5962 # +optional
5963 "command": "A String", # Command is the command line to execute inside the container, the working
5964 # directory for the command is root ('/') in the container's filesystem. The
5965 # command is simply exec'd, it is not run inside a shell, so traditional
5966 # shell instructions ('|', etc) won't work. To use a shell, you need to
5967 # explicitly call out to that shell. Exit status of 0 is treated as
5968 # live/healthy and non-zero is unhealthy. +optional
5969 },
5970 },
5971 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005972 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
5973 # Cannot be updated.
5974 # More info:
5975 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
5976 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005977 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
5978 # This is a temporary field created to migrate away from the
5979 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
5980 # with k8s style API.
5981 # This field is deprecated in favor of limits field.
5982 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5983 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5984 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5985 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005986 },
5987 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
5988 # If Requests is omitted for a container, it defaults to Limits if that is
5989 # explicitly specified, otherwise to an implementation-defined value.
5990 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07005991 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005992 # with k8s style API.
5993 # This field is deprecated in favor of requests field.
5994 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5995 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5996 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5997 },
5998 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005999 "requests": { # Requests describes the minimum amount of compute resources required.
6000 # If Requests is omitted for a container, it defaults to Limits if that is
6001 # explicitly specified, otherwise to an implementation-defined value.
6002 # The values of the map is string form of the 'quantity' k8s type:
6003 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6004 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006005 },
6006 "limits": { # Limits describes the maximum amount of compute resources allowed.
6007 # The values of the map is string form of the 'quantity' k8s type:
6008 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6009 "a_key": "A String",
6010 },
6011 },
6012 "workingDir": "A String", # Container's working directory.
6013 # If not specified, the container runtime's default will be used, which
6014 # might be configured in the container image.
6015 # Cannot be updated.
6016 # +optional
6017 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006018 "volumes": [
6019 { # Volume represents a named volume in a container.
6020 "configMap": { # Adapts a ConfigMap into a volume.
6021 # The contents of the target ConfigMap's Data field will be presented in a
6022 # volume as files using the keys in the Data field as the file names, unless
6023 # the items element is populated with specific mappings of keys to paths.
6024 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
6025 # Secret will be projected into the volume as a file whose name is the
6026 # key and content is the value. If specified, the listed keys will be
6027 # projected into the specified paths, and unlisted keys will not be
6028 # present. If a key is specified which is not present in the Secret,
6029 # the volume setup will error unless it is marked optional.
6030 { # Maps a string key to a path within a volume.
6031 "path": "A String", # The relative path of the file to map the key to.
6032 # May not be an absolute path.
6033 # May not contain the path element '..'.
6034 # May not start with the string '..'.
6035 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
6036 # specified, the volume defaultMode will be used. This might be in conflict
6037 # with other options that affect the file mode, like fsGroup, and the result
6038 # can be other mode bits set. +optional
6039 "key": "A String", # The key to project.
6040 },
6041 ],
6042 "optional": True or False, # Specify whether the Secret or its keys must be defined.
6043 "name": "A String", # Name of the config.
6044 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
6045 # 0777. Defaults to 0644. Directories within the path are not affected by
6046 # this setting. This might be in conflict with other options that affect the
6047 # file mode, like fsGroup, and the result can be other mode bits set.
6048 },
6049 "secret": { # The contents of the target Secret's Data field will be presented in a volume
6050 # as files using the keys in the Data field as the file names.
6051 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
6052 # Secret will be projected into the volume as a file whose name is the
6053 # key and content is the value. If specified, the listed keys will be
6054 # projected into the specified paths, and unlisted keys will not be
6055 # present. If a key is specified which is not present in the Secret,
6056 # the volume setup will error unless it is marked optional.
6057 { # Maps a string key to a path within a volume.
6058 "path": "A String", # The relative path of the file to map the key to.
6059 # May not be an absolute path.
6060 # May not contain the path element '..'.
6061 # May not start with the string '..'.
6062 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
6063 # specified, the volume defaultMode will be used. This might be in conflict
6064 # with other options that affect the file mode, like fsGroup, and the result
6065 # can be other mode bits set. +optional
6066 "key": "A String", # The key to project.
6067 },
6068 ],
6069 "optional": True or False, # Specify whether the Secret or its keys must be defined.
6070 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
6071 # 0777. Defaults to 0644. Directories within the path are not affected by
6072 # this setting. This might be in conflict with other options that affect the
6073 # file mode, like fsGroup, and the result can be other mode bits set.
6074 "secretName": "A String", # Name of the secret in the container's namespace to use.
6075 },
6076 "name": "A String", # Volume's name.
6077 },
6078 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006079 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
6080 # responding to a request.
6081 # Not currently used by Cloud Run.
6082 "servingState": "A String", # ServingState holds a value describing the state the resources
6083 # are in for this Revision.
6084 # Users must not specify this when creating a revision. It is expected
6085 # that the system will manipulate this based on routability and load.
6086 #
6087 # Populated by the system.
6088 # Read-only.
6089 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
6090 # metadata.generation instead, which is the sequence number containing the
6091 # latest generation of the desired state.
6092 #
6093 # Read-only.
6094 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
6095 # (Single or Multi) for the Revision. Defaults to Multi.
6096 # Deprecated in favor of ContainerConcurrency.
6097 # +optional
6098 "containerConcurrency": 42, # (Optional)
6099 #
6100 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
6101 # requests per container instance of the Revision.
6102 #
6103 # Cloud Run fully managed: supported, defaults to 80
6104 #
6105 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
6106 # to the application is not limited, and the system decides the
6107 # target concurrency for the autoscaler.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006108 "containers": [ # Containers holds the single container that defines the unit of execution
6109 # for this Revision. In the context of a Revision, we disallow a number of
6110 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -07006111 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006112 { # A single application container.
6113 # This specifies both the container to run, the command to run in the container
6114 # and the arguments to supply to it.
6115 # Note that additional arguments may be supplied by the system to the container
6116 # at runtime.
Dan O'Mearadd494642020-05-01 07:42:23 -07006117 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
6118 # Container will be restarted if the probe fails.
6119 # Cannot be updated.
6120 # More info:
6121 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6122 # +optional
6123 # determine whether it is alive or ready to receive traffic.
6124 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
6125 # Defaults to 1 second. Minimum value is 1.
6126 # More info:
6127 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6128 # +optional
6129 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
6130 # are initiated. More info:
6131 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6132 # +optional
6133 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6134 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6135 # TCP hooks not yet supported
6136 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
6137 # +optional
6138 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
6139 # Number must be in the range 1 to 65535.
6140 # Name must be an IANA_SVC_NAME.
6141 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6142 # inner type. This allows you to have, for example, a JSON field that can
6143 # accept a name or number.
6144 "strVal": "A String", # The string value.
6145 "type": 42, # The type of the value.
6146 "intVal": 42, # The int value.
6147 },
6148 },
6149 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6150 # +optional
6151 "path": "A String", # Path to access on the HTTP server.
6152 # +optional
6153 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
6154 # "Host" in httpHeaders instead.
6155 # +optional
6156 "scheme": "A String", # Scheme to use for connecting to the host.
6157 # Defaults to HTTP.
6158 # +optional
6159 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
6160 # Number must be in the range 1 to 65535.
6161 # Name must be an IANA_SVC_NAME.
6162 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6163 # inner type. This allows you to have, for example, a JSON field that can
6164 # accept a name or number.
6165 "strVal": "A String", # The string value.
6166 "type": 42, # The type of the value.
6167 "intVal": 42, # The int value.
6168 },
6169 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
6170 # +optional
6171 { # HTTPHeader describes a custom header to be used in HTTP probes
6172 "name": "A String", # The header field name
6173 "value": "A String", # The header field value
6174 },
6175 ],
6176 },
6177 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
6178 # Exec specifies the action to take.
6179 # +optional
6180 "command": "A String", # Command is the command line to execute inside the container, the working
6181 # directory for the command is root ('/') in the container's filesystem. The
6182 # command is simply exec'd, it is not run inside a shell, so traditional
6183 # shell instructions ('|', etc) won't work. To use a shell, you need to
6184 # explicitly call out to that shell. Exit status of 0 is treated as
6185 # live/healthy and non-zero is unhealthy. +optional
6186 },
6187 },
6188 "periodSeconds": 42, # How often (in seconds) to perform the probe.
6189 # Default to 10 seconds. Minimum value is 1.
6190 # +optional
6191 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
6192 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
6193 # is 1. +optional
6194 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
6195 # having succeeded. Defaults to 3. Minimum value is 1. +optional
6196 },
6197 "args": [ # Arguments to the entrypoint.
6198 # The docker image's CMD is used if this is not provided.
6199 # Variable references $(VAR_NAME) are expanded using the container's
6200 # environment. If a variable cannot be resolved, the reference in the input
6201 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
6202 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
6203 # regardless of whether the variable exists or not.
6204 # Cannot be updated.
6205 # More info:
6206 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
6207 # +optional
6208 "A String",
6209 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006210 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
6211 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
6212 # More info:
6213 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
6214 # +optional
6215 # container. Some fields are present in both SecurityContext and
6216 # PodSecurityContext. When both are set, the values in SecurityContext take
6217 # precedence.
6218 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
6219 # Default is false.
6220 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006221 "runAsGroup": 42, # The GID to run the entrypoint of the container process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006222 # Uses runtime default if unset.
6223 # May also be set in PodSecurityContext. If set in both SecurityContext and
6224 # PodSecurityContext, the value specified in SecurityContext takes
6225 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006226 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
6227 # privileges than its parent process. This bool directly controls if
6228 # the no_new_privs flag will be set on the container process.
6229 # AllowPrivilegeEscalation is true always when the container is:
6230 # 1) run as Privileged
6231 # 2) has CAP_SYS_ADMIN
6232 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006233 "runAsUser": 42, # The UID to run the entrypoint of the container process.
6234 # Defaults to user specified in image metadata if unspecified.
6235 # May also be set in PodSecurityContext. If set in both SecurityContext and
6236 # PodSecurityContext, the value specified in SecurityContext takes
6237 # precedence. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006238 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
6239 # Defaults to the default set of capabilities granted by the container
6240 # runtime. +optional
6241 "add": [ # Added capabilities
6242 # +optional
6243 "A String",
6244 ],
6245 "drop": [ # Removed capabilities
6246 # +optional
6247 "A String",
6248 ],
6249 },
6250 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
6251 # If true, the Kubelet will validate the image at runtime to ensure that it
6252 # does not run as UID 0 (root) and fail to start the container if it does.
6253 # If unset or false, no such validation will be performed.
6254 # May also be set in PodSecurityContext. If set in both SecurityContext and
6255 # PodSecurityContext, the value specified in SecurityContext takes
6256 # precedence. +optional
6257 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
6258 # If unspecified, the container runtime will allocate a random SELinux
6259 # context for each container. May also be set in PodSecurityContext. If set
6260 # in both SecurityContext and PodSecurityContext, the value specified in
6261 # SecurityContext takes precedence. +optional
6262 "role": "A String", # Role is a SELinux role label that applies to the container.
6263 # +optional
6264 "type": "A String", # Type is a SELinux type label that applies to the container.
6265 # +optional
6266 "user": "A String", # User is a SELinux user label that applies to the container.
6267 # +optional
6268 "level": "A String", # Level is SELinux level label that applies to the container.
6269 # +optional
6270 },
6271 "privileged": True or False, # Run container in privileged mode.
6272 # Processes in privileged containers are essentially equivalent to root on
6273 # the host. Defaults to false. +optional
6274 },
6275 "name": "A String", # Name of the container specified as a DNS_LABEL.
6276 # Each container must have a unique name (DNS_LABEL).
6277 # Cannot be updated.
6278 "envFrom": [ # List of sources to populate environment variables in the container.
6279 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
6280 # will be reported as an event when the container is starting. When a key
6281 # exists in multiple sources, the value associated with the last source will
6282 # take precedence. Values defined by an Env with a duplicate key will take
6283 # precedence. Cannot be updated. +optional
6284 { # EnvFromSource represents the source of a set of ConfigMaps
6285 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
6286 # +optional
6287 # variables with.
6288 #
6289 # The contents of the target Secret's Data field will represent the
6290 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07006291 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6292 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006293 # referenced object inside the same namespace.
6294 "name": "A String", # Name of the referent.
6295 # More info:
6296 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6297 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006298 "optional": True or False, # Cloud Run fully managed: not supported
6299 #
6300 # Cloud Run for Anthos: supported
6301 #
6302 # Specify whether the Secret must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006303 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006304 "name": "A String", # Cloud Run fully managed: not supported
6305 #
6306 # Cloud Run for Anthos: supported
6307 #
6308 # The Secret to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006309 },
6310 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
6311 # +optional
6312 # variables with.
6313 #
6314 # The contents of the target ConfigMap's Data field will represent the
6315 # key-value pairs as environment variables.
Dan O'Mearadd494642020-05-01 07:42:23 -07006316 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6317 # directly into the message. Use the "name" field instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006318 # referenced object inside the same namespace.
6319 "name": "A String", # Name of the referent.
6320 # More info:
6321 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6322 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006323 "optional": True or False, # Cloud Run fully managed: not supported
6324 #
6325 # Cloud Run for Anthos: supported
6326 #
6327 # Specify whether the ConfigMap must be defined
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006328 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006329 "name": "A String", # Cloud Run fully managed: not supported
6330 #
6331 # Cloud Run for Anthos: supported
6332 #
6333 # The ConfigMap to select from.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006334 },
6335 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
6336 # C_IDENTIFIER. +optional
6337 },
6338 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006339 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
6340 # been opened by a single attach. When stdin is true the stdin stream will
6341 # remain open across multiple attach sessions. If stdinOnce is set to true,
6342 # stdin is opened on container start, is empty until the first client
6343 # attaches to stdin, and then remains open and accepts data until the client
6344 # disconnects, at which time stdin is closed and remains closed until the
6345 # container is restarted. If this flag is false, a container processes that
6346 # reads from stdin will never receive an EOF. Default is false +optional
6347 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
6348 # This is an alpha feature and may change in the future.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006349 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006350 { # volumeDevice describes a mapping of a raw block device within a container.
6351 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
6352 # mapped to.
6353 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006354 },
6355 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006356 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
6357 # runtime. If this is not set, reads from stdin in the container will always
6358 # result in EOF. Default is false. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006359 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
6360 # Cannot be updated.
6361 # +optional
6362 { # VolumeMount describes a mounting of a Volume within a container.
6363 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
6364 # Defaults to false.
6365 # +optional
6366 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
6367 # to container and the other way around.
6368 # When not set, MountPropagationHostToContainer is used.
6369 # This field is beta in 1.10.
6370 # +optional
6371 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
6372 # Defaults to "" (volume's root).
6373 # +optional
6374 "name": "A String", # This must match the Name of a Volume.
6375 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
6376 # not contain ':'.
6377 },
6378 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006379 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
6380 # 'stdin' to be true. Default is false. +optional
6381 "ports": [ # List of ports to expose from the container. Exposing a port here gives
6382 # the system additional information about the network connections a
6383 # container uses, but is primarily informational. Not specifying a port here
6384 # DOES NOT prevent that port from being exposed. Any port which is
6385 # listening on the default "0.0.0.0" address inside a container will be
6386 # accessible from the network.
6387 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006388 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006389 { # ContainerPort represents a network port in a single container.
6390 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
6391 # Defaults to "TCP".
6392 # +optional
6393 "hostIP": "A String", # What host IP to bind the external port to.
6394 # +optional
6395 "containerPort": 42, # Number of port to expose on the pod's IP address.
6396 # This must be a valid port number, 0 &lt; x &lt; 65536.
6397 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
6398 # named port in a pod must have a unique name. Name for the port that can be
6399 # referred to by services.
6400 # +optional
6401 "hostPort": 42, # Number of port to expose on the host.
6402 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
6403 # If HostNetwork is specified, this must match ContainerPort.
6404 # Most containers do not need this.
6405 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006406 },
6407 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006408 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
6409 # contents of terminationMessagePath to populate the container status message
6410 # on both success and failure. FallbackToLogsOnError will use the last chunk
6411 # of container log output if the termination message file is empty and the
6412 # container exited with an error. The log output is limited to 2048 bytes or
6413 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
6414 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006415 "command": [ # Entrypoint array. Not executed within a shell.
6416 # The docker image's ENTRYPOINT is used if this is not provided.
6417 # Variable references $(VAR_NAME) are expanded using the container's
6418 # environment. If a variable cannot be resolved, the reference in the input
6419 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
6420 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
6421 # regardless of whether the variable exists or not.
6422 # Cannot be updated.
6423 # More info:
6424 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
6425 # +optional
6426 "A String",
6427 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006428 "env": [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006429 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006430 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006431 { # EnvVar represents an environment variable present in a Container.
6432 "valueFrom": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6433 #
6434 # Cloud Run on GKE: supported
6435 #
6436 # Source for the environment variable's value. Cannot be used if value is not
6437 # empty. +optional
6438 #
6439 # Cloud Run on GKE: supported
6440 #
6441 # EnvVarSource represents a source for the value of an EnvVar.
6442 "secretKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6443 #
6444 # Cloud Run on GKE: supported
6445 #
6446 # Selects a key of a secret in the pod's namespace
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006447 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006448 #
6449 # Cloud Run on GKE: supported
6450 #
6451 # SecretKeySelector selects a key of a Secret.
6452 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6453 # directly into the message. Use the "name" field instead.
6454 # referenced object inside the same namespace.
6455 "name": "A String", # Name of the referent.
6456 # More info:
6457 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006458 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006459 "optional": True or False, # Cloud Run fully managed: not supported
6460 #
6461 # Cloud Run on GKE: supported
6462 #
6463 # Specify whether the Secret or its key must be defined
6464 # +optional
6465 "name": "A String", # Cloud Run fully managed: not supported
6466 #
6467 # Cloud Run on GKE: supported
6468 #
6469 # The name of the secret in the pod's namespace to select from.
6470 "key": "A String", # Cloud Run fully managed: not supported
6471 #
6472 # Cloud Run on GKE: supported
6473 #
6474 # The key of the secret to select from. Must be a valid secret key.
6475 },
6476 "configMapKeyRef": { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6477 #
6478 # Cloud Run on GKE: supported
6479 #
6480 # Selects a key of a ConfigMap.
6481 # +optional
6482 #
6483 # Cloud Run on GKE: supported
6484 #
6485 # Selects a key from a ConfigMap.
6486 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6487 # directly into the message. Use the "name" field instead.
6488 # referenced object inside the same namespace.
6489 "name": "A String", # Name of the referent.
6490 # More info:
6491 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6492 },
6493 "optional": True or False, # Cloud Run fully managed: not supported
6494 #
6495 # Cloud Run on GKE: supported
6496 #
6497 # Specify whether the ConfigMap or its key must be defined
6498 # +optional
6499 "name": "A String", # Cloud Run fully managed: not supported
6500 #
6501 # Cloud Run on GKE: supported
6502 #
6503 # The ConfigMap to select from.
6504 "key": "A String", # Cloud Run fully managed: not supported
6505 #
6506 # Cloud Run on GKE: supported
6507 #
6508 # The key to select.
6509 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006510 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006511 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
6512 "value": "A String", # Variable references $(VAR_NAME) are expanded
6513 # using the previous defined environment variables in the container and
6514 # any route environment variables. If a variable cannot be resolved,
6515 # the reference in the input string will be unchanged. The $(VAR_NAME)
6516 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
6517 # references will never be expanded, regardless of whether the variable
6518 # exists or not.
6519 # Defaults to "".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006520 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006521 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006522 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006523 "imagePullPolicy": "A String", # Image pull policy.
6524 # One of Always, Never, IfNotPresent.
6525 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
6526 # Cannot be updated.
6527 # More info:
6528 # https://kubernetes.io/docs/concepts/containers/images#updating-images
6529 # +optional
6530 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
6531 # Container will be removed from service endpoints if the probe fails.
6532 # Cannot be updated.
6533 # More info:
6534 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6535 # +optional
6536 # determine whether it is alive or ready to receive traffic.
6537 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
6538 # Defaults to 1 second. Minimum value is 1.
6539 # More info:
6540 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6541 # +optional
6542 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
6543 # are initiated. More info:
6544 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6545 # +optional
6546 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6547 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6548 # TCP hooks not yet supported
6549 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
6550 # +optional
6551 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
6552 # Number must be in the range 1 to 65535.
6553 # Name must be an IANA_SVC_NAME.
6554 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6555 # inner type. This allows you to have, for example, a JSON field that can
6556 # accept a name or number.
6557 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07006558 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006559 "intVal": 42, # The int value.
6560 },
6561 },
6562 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6563 # +optional
6564 "path": "A String", # Path to access on the HTTP server.
6565 # +optional
6566 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
6567 # "Host" in httpHeaders instead.
6568 # +optional
6569 "scheme": "A String", # Scheme to use for connecting to the host.
6570 # Defaults to HTTP.
6571 # +optional
6572 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
6573 # Number must be in the range 1 to 65535.
6574 # Name must be an IANA_SVC_NAME.
6575 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6576 # inner type. This allows you to have, for example, a JSON field that can
6577 # accept a name or number.
6578 "strVal": "A String", # The string value.
Dan O'Mearadd494642020-05-01 07:42:23 -07006579 "type": 42, # The type of the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006580 "intVal": 42, # The int value.
6581 },
6582 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
6583 # +optional
6584 { # HTTPHeader describes a custom header to be used in HTTP probes
6585 "name": "A String", # The header field name
6586 "value": "A String", # The header field value
6587 },
6588 ],
6589 },
6590 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
6591 # Exec specifies the action to take.
6592 # +optional
6593 "command": "A String", # Command is the command line to execute inside the container, the working
6594 # directory for the command is root ('/') in the container's filesystem. The
6595 # command is simply exec'd, it is not run inside a shell, so traditional
6596 # shell instructions ('|', etc) won't work. To use a shell, you need to
6597 # explicitly call out to that shell. Exit status of 0 is treated as
6598 # live/healthy and non-zero is unhealthy. +optional
6599 },
6600 },
6601 "periodSeconds": 42, # How often (in seconds) to perform the probe.
6602 # Default to 10 seconds. Minimum value is 1.
6603 # +optional
6604 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
6605 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
6606 # is 1. +optional
6607 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
6608 # having succeeded. Defaults to 3. Minimum value is 1. +optional
6609 },
6610 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
6611 # message will be written is mounted into the container's filesystem. Message
6612 # written is intended to be brief final status, such as an assertion failure
6613 # message. Will be truncated by the node if greater than 4096 bytes. The
6614 # total message length across all containers will be limited to 12kb.
6615 # Defaults to /dev/termination-log.
6616 # Cannot be updated.
6617 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006618 "image": "A String", # Docker image name.
6619 # More info: https://kubernetes.io/docs/concepts/containers/images
6620 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
6621 # lifecycle events. Cannot be updated. +optional
6622 # response to container lifecycle events. For the PostStart and PreStop
6623 # lifecycle handlers, management of the container blocks until the action is
6624 # complete, unless the container process fails, in which case the handler is
6625 # aborted.
6626 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
6627 # The container is terminated after the handler completes.
6628 # The reason for termination is passed to the handler.
6629 # Regardless of the outcome of the handler, the container is eventually
6630 # terminated. Other management of the container blocks until the hook
6631 # completes. More info:
6632 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
6633 # +optional
6634 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6635 # TCP hooks not yet supported
6636 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
6637 # +optional
6638 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
6639 # Number must be in the range 1 to 65535.
6640 # Name must be an IANA_SVC_NAME.
6641 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6642 # inner type. This allows you to have, for example, a JSON field that can
6643 # accept a name or number.
6644 "strVal": "A String", # The string value.
6645 "type": 42, # The type of the value.
6646 "intVal": 42, # The int value.
6647 },
6648 },
6649 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006650 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006651 "path": "A String", # Path to access on the HTTP server.
6652 # +optional
6653 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
6654 # "Host" in httpHeaders instead.
6655 # +optional
6656 "scheme": "A String", # Scheme to use for connecting to the host.
6657 # Defaults to HTTP.
6658 # +optional
6659 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
6660 # Number must be in the range 1 to 65535.
6661 # Name must be an IANA_SVC_NAME.
6662 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6663 # inner type. This allows you to have, for example, a JSON field that can
6664 # accept a name or number.
6665 "strVal": "A String", # The string value.
6666 "type": 42, # The type of the value.
6667 "intVal": 42, # The int value.
6668 },
6669 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
6670 # +optional
6671 { # HTTPHeader describes a custom header to be used in HTTP probes
6672 "name": "A String", # The header field name
6673 "value": "A String", # The header field value
6674 },
6675 ],
6676 },
6677 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
6678 # Exec specifies the action to take.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006679 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006680 "command": "A String", # Command is the command line to execute inside the container, the working
6681 # directory for the command is root ('/') in the container's filesystem. The
6682 # command is simply exec'd, it is not run inside a shell, so traditional
6683 # shell instructions ('|', etc) won't work. To use a shell, you need to
6684 # explicitly call out to that shell. Exit status of 0 is treated as
6685 # live/healthy and non-zero is unhealthy. +optional
6686 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006687 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006688 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
6689 # handler fails, the container is terminated and restarted according to its
6690 # restart policy. Other management of the container blocks until the hook
6691 # completes. More info:
6692 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
6693 # +optional
6694 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6695 # TCP hooks not yet supported
6696 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
6697 # +optional
6698 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
6699 # Number must be in the range 1 to 65535.
6700 # Name must be an IANA_SVC_NAME.
6701 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6702 # inner type. This allows you to have, for example, a JSON field that can
6703 # accept a name or number.
6704 "strVal": "A String", # The string value.
6705 "type": 42, # The type of the value.
6706 "intVal": 42, # The int value.
6707 },
6708 },
6709 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6710 # +optional
6711 "path": "A String", # Path to access on the HTTP server.
6712 # +optional
6713 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
6714 # "Host" in httpHeaders instead.
6715 # +optional
6716 "scheme": "A String", # Scheme to use for connecting to the host.
6717 # Defaults to HTTP.
6718 # +optional
6719 "port": { # IntOrString is a type that can hold an int32 or a string. When used in # Name or number of the port to access on the container.
6720 # Number must be in the range 1 to 65535.
6721 # Name must be an IANA_SVC_NAME.
6722 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6723 # inner type. This allows you to have, for example, a JSON field that can
6724 # accept a name or number.
6725 "strVal": "A String", # The string value.
6726 "type": 42, # The type of the value.
6727 "intVal": 42, # The int value.
6728 },
6729 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
6730 # +optional
6731 { # HTTPHeader describes a custom header to be used in HTTP probes
6732 "name": "A String", # The header field name
6733 "value": "A String", # The header field value
6734 },
6735 ],
6736 },
6737 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
6738 # Exec specifies the action to take.
6739 # +optional
6740 "command": "A String", # Command is the command line to execute inside the container, the working
6741 # directory for the command is root ('/') in the container's filesystem. The
6742 # command is simply exec'd, it is not run inside a shell, so traditional
6743 # shell instructions ('|', etc) won't work. To use a shell, you need to
6744 # explicitly call out to that shell. Exit status of 0 is treated as
6745 # live/healthy and non-zero is unhealthy. +optional
6746 },
6747 },
6748 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006749 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
6750 # Cannot be updated.
6751 # More info:
6752 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
6753 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006754 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
6755 # This is a temporary field created to migrate away from the
6756 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
6757 # with k8s style API.
6758 # This field is deprecated in favor of limits field.
6759 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
6760 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6761 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
6762 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006763 },
6764 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
6765 # If Requests is omitted for a container, it defaults to Limits if that is
6766 # explicitly specified, otherwise to an implementation-defined value.
6767 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07006768 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006769 # with k8s style API.
6770 # This field is deprecated in favor of requests field.
6771 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
6772 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6773 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
6774 },
6775 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006776 "requests": { # Requests describes the minimum amount of compute resources required.
6777 # If Requests is omitted for a container, it defaults to Limits if that is
6778 # explicitly specified, otherwise to an implementation-defined value.
6779 # The values of the map is string form of the 'quantity' k8s type:
6780 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6781 "a_key": "A String",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006782 },
6783 "limits": { # Limits describes the maximum amount of compute resources allowed.
6784 # The values of the map is string form of the 'quantity' k8s type:
6785 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6786 "a_key": "A String",
6787 },
6788 },
6789 "workingDir": "A String", # Container's working directory.
6790 # If not specified, the container runtime's default will be used, which
6791 # might be configured in the container image.
6792 # Cannot be updated.
6793 # +optional
6794 },
6795 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07006796 "serviceAccountName": "A String", # Email address of the IAM service account associated with the revision
6797 # of the service. The service account represents the identity of the
6798 # running revision, and determines what permissions the revision has. If
6799 # not provided, the revision will use the project's default service account.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006800 },
6801 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
6802 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07006803 # To set minimum instances for this revision, use the
6804 # "autoscaling.knative.dev/minScale" annotation key. (Cloud Run on GKE only).
6805 # To set maximum instances for this revision, use the
6806 # "autoscaling.knative.dev/maxScale" annotation key.
6807 # To set Cloud SQL connections for the revision, use the
6808 # "run.googleapis.com/cloudsql-instances" annotation key. Values should be
6809 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006810 # all objects users must create.
6811 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
6812 # been deleted, this object will be garbage collected.
6813 # +optional
6814 { # OwnerReference contains enough information to let you identify an owning
6815 # object. Currently, an owning object must be in the same namespace, so there
6816 # is no namespace field.
6817 "kind": "A String", # Kind of the referent.
6818 # More info:
6819 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07006820 "name": "A String", # Name of the referent.
6821 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006822 "apiVersion": "A String", # API version of the referent.
6823 "controller": True or False, # If true, this reference points to the managing controller.
6824 # +optional
6825 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
6826 # the owner cannot be deleted from the key-value store until this
6827 # reference is removed.
6828 # Defaults to false.
6829 # To set this field, a user needs "delete" permission of the owner,
6830 # otherwise 422 (Unprocessable Entity) will be returned.
6831 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006832 "uid": "A String", # UID of the referent.
6833 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006834 },
6835 ],
6836 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
6837 # Is required when creating
6838 # resources, although some resources may allow a client to request the
6839 # generation of an appropriate name automatically. Name is primarily intended
6840 # for creation idempotence and configuration definition. Cannot be updated.
6841 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6842 # +optional
6843 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
6844 # deleted. This field is set by the server when a graceful deletion is
6845 # requested by the user, and is not directly settable by a client. The
6846 # resource is expected to be deleted (no longer visible from resource lists,
6847 # and not reachable by name) after the time in this field, once the
6848 # finalizers list is empty. As long as the finalizers list contains items,
6849 # deletion is blocked. Once the deletionTimestamp is set, this value may not
6850 # be unset or be set further into the future, although it may be shortened or
6851 # the resource may be deleted prior to this time. For example, a user may
6852 # request that a pod is deleted in 30 seconds. The Kubelet will react by
6853 # sending a graceful termination signal to the containers in the pod. After
6854 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
6855 # to the container and after cleanup, remove the pod from the API. In the
6856 # presence of network partitions, this object may still exist after this
6857 # timestamp, until an administrator or automated process can determine the
6858 # resource is fully terminated.
6859 # If not set, graceful deletion of the object has not been requested.
6860 #
6861 # Populated by the system when a graceful deletion is requested.
6862 # Read-only.
6863 # More info:
6864 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6865 # +optional
6866 "clusterName": "A String", # Not currently supported by Cloud Run.
6867 #
6868 # The name of the cluster which the object belongs to.
6869 # This is used to distinguish resources with same name and namespace in
6870 # different clusters. This field is not set anywhere right now and apiserver
6871 # is going to ignore it if set in create or update request. +optional
6872 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
6873 #
6874 # Number of seconds allowed for this object to gracefully terminate before
6875 # it will be removed from the system. Only set when deletionTimestamp is also
6876 # set. May only be shortened. Read-only. +optional
6877 "labels": { # Map of string keys and values that can be used to organize and categorize
6878 # (scope and select) objects. May match selectors of replication controllers
6879 # and routes.
6880 # More info: http://kubernetes.io/docs/user-guide/labels
6881 # +optional
6882 "a_key": "A String",
6883 },
6884 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
6885 # Cloud Run region. In Cloud Run the namespace must be equal to either the
6886 # project ID or project number.
6887 "generation": 42, # A sequence number representing a specific generation of the desired state.
6888 # Populated by the system. Read-only.
6889 # +optional
6890 "finalizers": [ # Not currently supported by Cloud Run.
6891 #
6892 # Must be empty before the object is deleted from the registry. Each entry
6893 # is an identifier for the responsible component that will remove the entry
6894 # from the list. If the deletionTimestamp of the object is non-nil, entries
6895 # in this list can only be removed.
6896 # +optional
6897 # +patchStrategy=merge
6898 "A String",
6899 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006900 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
6901 # can be used by clients to determine when objects have changed. May be used
6902 # for optimistic concurrency, change detection, and the watch operation on a
6903 # resource or set of resources. Clients must treat these values as opaque and
6904 # passed unmodified back to the server. They may only be valid for a
6905 # particular resource or set of resources.
6906 #
6907 # Populated by the system.
6908 # Read-only.
6909 # Value must be treated as opaque by clients and .
6910 # More info:
6911 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
6912 # +optional
6913 "generateName": "A String", # Not currently supported by Cloud Run.
6914 #
6915 # GenerateName is an optional prefix, used by the server, to generate a
6916 # unique name ONLY IF the Name field has not been provided. If this field is
6917 # used, the name returned to the client will be different than the name
6918 # passed. This value will also be combined with a unique suffix. The provided
6919 # value has the same validation rules as the Name field, and may be truncated
6920 # by the length of the suffix required to make the value unique on the
6921 # server.
6922 #
6923 # If this field is specified and the generated name exists, the server will
6924 # NOT return a 409 - instead, it will either return 201 Created or 500 with
6925 # Reason ServerTimeout indicating a unique name could not be found in the
6926 # time allotted, and the client should retry (optionally after the time
6927 # indicated in the Retry-After header).
6928 #
6929 # Applied only if Name is not specified.
6930 # More info:
6931 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
6932 # +optional
6933 # string generateName = 2;
6934 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
6935 # object was created. It is not guaranteed to be set in happens-before order
6936 # across separate operations. Clients may not set this value. It is
6937 # represented in RFC3339 form and is in UTC.
6938 #
6939 # Populated by the system.
6940 # Read-only.
6941 # Null for lists.
6942 # More info:
6943 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6944 # +optional
6945 "annotations": { # Annotations is an unstructured key value map stored with a resource that
6946 # may be set by external tools to store and retrieve arbitrary metadata. They
6947 # are not queryable and should be preserved when modifying objects. More
6948 # info: http://kubernetes.io/docs/user-guide/annotations +optional
6949 "a_key": "A String",
6950 },
6951 "selfLink": "A String", # SelfLink is a URL representing this object.
6952 # Populated by the system.
6953 # Read-only.
6954 # +optional
6955 # string selfLink = 4;
6956 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
6957 # generated by the server on successful creation of a resource and is not
6958 # allowed to change on PUT operations.
6959 #
6960 # Populated by the system.
6961 # Read-only.
6962 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6963 # +optional
6964 },
6965 },
6966 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006967 "apiVersion": "A String", # The API version for this call such as "serving.knative.dev/v1alpha1".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006968 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
6969 # labels, and annotations.
6970 # all objects users must create.
6971 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
6972 # been deleted, this object will be garbage collected.
6973 # +optional
6974 { # OwnerReference contains enough information to let you identify an owning
6975 # object. Currently, an owning object must be in the same namespace, so there
6976 # is no namespace field.
6977 "kind": "A String", # Kind of the referent.
6978 # More info:
6979 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Dan O'Mearadd494642020-05-01 07:42:23 -07006980 "name": "A String", # Name of the referent.
6981 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006982 "apiVersion": "A String", # API version of the referent.
6983 "controller": True or False, # If true, this reference points to the managing controller.
6984 # +optional
6985 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
6986 # the owner cannot be deleted from the key-value store until this
6987 # reference is removed.
6988 # Defaults to false.
6989 # To set this field, a user needs "delete" permission of the owner,
6990 # otherwise 422 (Unprocessable Entity) will be returned.
6991 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07006992 "uid": "A String", # UID of the referent.
6993 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006994 },
6995 ],
6996 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
6997 # Is required when creating
6998 # resources, although some resources may allow a client to request the
6999 # generation of an appropriate name automatically. Name is primarily intended
7000 # for creation idempotence and configuration definition. Cannot be updated.
7001 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
7002 # +optional
7003 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
7004 # deleted. This field is set by the server when a graceful deletion is
7005 # requested by the user, and is not directly settable by a client. The
7006 # resource is expected to be deleted (no longer visible from resource lists,
7007 # and not reachable by name) after the time in this field, once the
7008 # finalizers list is empty. As long as the finalizers list contains items,
7009 # deletion is blocked. Once the deletionTimestamp is set, this value may not
7010 # be unset or be set further into the future, although it may be shortened or
7011 # the resource may be deleted prior to this time. For example, a user may
7012 # request that a pod is deleted in 30 seconds. The Kubelet will react by
7013 # sending a graceful termination signal to the containers in the pod. After
7014 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
7015 # to the container and after cleanup, remove the pod from the API. In the
7016 # presence of network partitions, this object may still exist after this
7017 # timestamp, until an administrator or automated process can determine the
7018 # resource is fully terminated.
7019 # If not set, graceful deletion of the object has not been requested.
7020 #
7021 # Populated by the system when a graceful deletion is requested.
7022 # Read-only.
7023 # More info:
7024 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
7025 # +optional
7026 "clusterName": "A String", # Not currently supported by Cloud Run.
7027 #
7028 # The name of the cluster which the object belongs to.
7029 # This is used to distinguish resources with same name and namespace in
7030 # different clusters. This field is not set anywhere right now and apiserver
7031 # is going to ignore it if set in create or update request. +optional
7032 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
7033 #
7034 # Number of seconds allowed for this object to gracefully terminate before
7035 # it will be removed from the system. Only set when deletionTimestamp is also
7036 # set. May only be shortened. Read-only. +optional
7037 "labels": { # Map of string keys and values that can be used to organize and categorize
7038 # (scope and select) objects. May match selectors of replication controllers
7039 # and routes.
7040 # More info: http://kubernetes.io/docs/user-guide/labels
7041 # +optional
7042 "a_key": "A String",
7043 },
7044 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
7045 # Cloud Run region. In Cloud Run the namespace must be equal to either the
7046 # project ID or project number.
7047 "generation": 42, # A sequence number representing a specific generation of the desired state.
7048 # Populated by the system. Read-only.
7049 # +optional
7050 "finalizers": [ # Not currently supported by Cloud Run.
7051 #
7052 # Must be empty before the object is deleted from the registry. Each entry
7053 # is an identifier for the responsible component that will remove the entry
7054 # from the list. If the deletionTimestamp of the object is non-nil, entries
7055 # in this list can only be removed.
7056 # +optional
7057 # +patchStrategy=merge
7058 "A String",
7059 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007060 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
7061 # can be used by clients to determine when objects have changed. May be used
7062 # for optimistic concurrency, change detection, and the watch operation on a
7063 # resource or set of resources. Clients must treat these values as opaque and
7064 # passed unmodified back to the server. They may only be valid for a
7065 # particular resource or set of resources.
7066 #
7067 # Populated by the system.
7068 # Read-only.
7069 # Value must be treated as opaque by clients and .
7070 # More info:
7071 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
7072 # +optional
7073 "generateName": "A String", # Not currently supported by Cloud Run.
7074 #
7075 # GenerateName is an optional prefix, used by the server, to generate a
7076 # unique name ONLY IF the Name field has not been provided. If this field is
7077 # used, the name returned to the client will be different than the name
7078 # passed. This value will also be combined with a unique suffix. The provided
7079 # value has the same validation rules as the Name field, and may be truncated
7080 # by the length of the suffix required to make the value unique on the
7081 # server.
7082 #
7083 # If this field is specified and the generated name exists, the server will
7084 # NOT return a 409 - instead, it will either return 201 Created or 500 with
7085 # Reason ServerTimeout indicating a unique name could not be found in the
7086 # time allotted, and the client should retry (optionally after the time
7087 # indicated in the Retry-After header).
7088 #
7089 # Applied only if Name is not specified.
7090 # More info:
7091 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
7092 # +optional
7093 # string generateName = 2;
7094 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
7095 # object was created. It is not guaranteed to be set in happens-before order
7096 # across separate operations. Clients may not set this value. It is
7097 # represented in RFC3339 form and is in UTC.
7098 #
7099 # Populated by the system.
7100 # Read-only.
7101 # Null for lists.
7102 # More info:
7103 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
7104 # +optional
7105 "annotations": { # Annotations is an unstructured key value map stored with a resource that
7106 # may be set by external tools to store and retrieve arbitrary metadata. They
7107 # are not queryable and should be preserved when modifying objects. More
7108 # info: http://kubernetes.io/docs/user-guide/annotations +optional
7109 "a_key": "A String",
7110 },
7111 "selfLink": "A String", # SelfLink is a URL representing this object.
7112 # Populated by the system.
7113 # Read-only.
7114 # +optional
7115 # string selfLink = 4;
7116 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
7117 # generated by the server on successful creation of a resource and is not
7118 # allowed to change on PUT operations.
7119 #
7120 # Populated by the system.
7121 # Read-only.
7122 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
7123 # +optional
7124 },
7125 },
7126 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07007127 "apiVersion": "A String", # The API version for this call such as "serving.knative.dev/v1alpha1".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007128 "metadata": { # ListMeta describes metadata that synthetic resources must have, including # Metadata associated with this Configuration list.
7129 # lists and various status objects. A resource may have only one of
7130 # {ObjectMeta, ListMeta}.
7131 "continue": "A String", # continue may be set if the user set a limit on the number of items
7132 # returned, and indicates that the server has more data available. The value
7133 # is opaque and may be used to issue another request to the endpoint that
7134 # served this list to retrieve the next set of available objects. Continuing
7135 # a list may not be possible if the server configuration has changed or more
7136 # than a few minutes have passed. The resourceVersion field returned when
7137 # using this continue value will be identical to the value in the first
7138 # response.
7139 "selfLink": "A String", # SelfLink is a URL representing this object.
7140 # Populated by the system.
7141 # Read-only.
7142 # +optional
7143 "resourceVersion": "A String", # String that identifies the server's internal version of this object that
7144 # can be used by clients to determine when objects have changed. Value must
7145 # be treated as opaque by clients and passed unmodified back to the server.
7146 # Populated by the system.
7147 # Read-only.
7148 # More info:
7149 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
7150 # +optional
7151 },
7152 }</pre>
7153</div>
7154
7155</body></html>