blob: 358bbb84f08e5b667f247c32e422c3bd8dc0aa2f [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).
108 "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
109 # Configuration. It might not be ready yet, for that use
110 # LatestReadyRevisionName.
111 "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Configuration that
112 # was last processed by the controller. The observed generation is updated
113 # even if the controller failed to process the spec and create the Revision.
114 #
115 # Clients polling for completed reconciliation should poll until
116 # observedGeneration = metadata.generation, and the Ready condition's status
117 # is True or False.
118 "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.
170 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
171 # 'stdin' to be true. Default is false. +optional
172 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
173 # runtime. If this is not set, reads from stdin in the container will always
174 # result in EOF. Default is false. +optional
175 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
176 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
177 # More info:
178 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
179 # +optional
180 # container. Some fields are present in both SecurityContext and
181 # PodSecurityContext. When both are set, the values in SecurityContext take
182 # precedence.
183 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
184 # Default is false.
185 # +optional
186 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
187 # Uses runtime default if unset.
188 # May also be set in PodSecurityContext. If set in both SecurityContext and
189 # PodSecurityContext, the value specified in SecurityContext takes
190 # precedence. +optional
191 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
192 # Defaults to user specified in image metadata if unspecified.
193 # May also be set in PodSecurityContext. If set in both SecurityContext and
194 # PodSecurityContext, the value specified in SecurityContext takes
195 # precedence. +optional
196 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
197 # privileges than its parent process. This bool directly controls if
198 # the no_new_privs flag will be set on the container process.
199 # AllowPrivilegeEscalation is true always when the container is:
200 # 1) run as Privileged
201 # 2) has CAP_SYS_ADMIN
202 # +optional
203 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
204 # Defaults to the default set of capabilities granted by the container
205 # runtime. +optional
206 "add": [ # Added capabilities
207 # +optional
208 "A String",
209 ],
210 "drop": [ # Removed capabilities
211 # +optional
212 "A String",
213 ],
214 },
215 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
216 # If true, the Kubelet will validate the image at runtime to ensure that it
217 # does not run as UID 0 (root) and fail to start the container if it does.
218 # If unset or false, no such validation will be performed.
219 # May also be set in PodSecurityContext. If set in both SecurityContext and
220 # PodSecurityContext, the value specified in SecurityContext takes
221 # precedence. +optional
222 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
223 # If unspecified, the container runtime will allocate a random SELinux
224 # context for each container. May also be set in PodSecurityContext. If set
225 # in both SecurityContext and PodSecurityContext, the value specified in
226 # SecurityContext takes precedence. +optional
227 "role": "A String", # Role is a SELinux role label that applies to the container.
228 # +optional
229 "type": "A String", # Type is a SELinux type label that applies to the container.
230 # +optional
231 "user": "A String", # User is a SELinux user label that applies to the container.
232 # +optional
233 "level": "A String", # Level is SELinux level label that applies to the container.
234 # +optional
235 },
236 "privileged": True or False, # Run container in privileged mode.
237 # Processes in privileged containers are essentially equivalent to root on
238 # the host. Defaults to false. +optional
239 },
240 "name": "A String", # Name of the container specified as a DNS_LABEL.
241 # Each container must have a unique name (DNS_LABEL).
242 # Cannot be updated.
243 "envFrom": [ # List of sources to populate environment variables in the container.
244 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
245 # will be reported as an event when the container is starting. When a key
246 # exists in multiple sources, the value associated with the last source will
247 # take precedence. Values defined by an Env with a duplicate key will take
248 # precedence. Cannot be updated. +optional
249 { # EnvFromSource represents the source of a set of ConfigMaps
250 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
251 # +optional
252 # variables with.
253 #
254 # The contents of the target Secret's Data field will represent the
255 # key-value pairs as environment variables.
256 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
257 # referenced object inside the same namespace.
258 "name": "A String", # Name of the referent.
259 # More info:
260 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
261 },
262 "optional": True or False, # Specify whether the Secret must be defined
263 # +optional
264 },
265 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
266 # +optional
267 # variables with.
268 #
269 # The contents of the target ConfigMap's Data field will represent the
270 # key-value pairs as environment variables.
271 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
272 # referenced object inside the same namespace.
273 "name": "A String", # Name of the referent.
274 # More info:
275 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
276 },
277 "optional": True or False, # Specify whether the ConfigMap must be defined
278 # +optional
279 },
280 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
281 # C_IDENTIFIER. +optional
282 },
283 ],
284 "env": [ # List of environment variables to set in the container.
285 # Cannot be updated.
286 # +optional
287 { # EnvVar represents an environment variable present in a Container.
288 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
289 "value": "A String", # Variable references $(VAR_NAME) are expanded
290 # using the previous defined environment variables in the container and
291 # any route environment variables. If a variable cannot be resolved,
292 # the reference in the input string will be unchanged. The $(VAR_NAME)
293 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
294 # references will never be expanded, regardless of whether the variable
295 # exists or not.
296 # Defaults to "".
297 # +optional
298 },
299 ],
300 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
301 # Cannot be updated.
302 # +optional
303 { # VolumeMount describes a mounting of a Volume within a container.
304 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
305 # Defaults to false.
306 # +optional
307 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
308 # to container and the other way around.
309 # When not set, MountPropagationHostToContainer is used.
310 # This field is beta in 1.10.
311 # +optional
312 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
313 # Defaults to "" (volume's root).
314 # +optional
315 "name": "A String", # This must match the Name of a Volume.
316 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
317 # not contain ':'.
318 },
319 ],
320 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
321 # This is an alpha feature and may change in the future.
322 # +optional
323 { # volumeDevice describes a mapping of a raw block device within a container.
324 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
325 # mapped to.
326 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
327 },
328 ],
329 "args": [ # Arguments to the entrypoint.
330 # The docker image's CMD is used if this is not provided.
331 # Variable references $(VAR_NAME) are expanded using the container's
332 # environment. If a variable cannot be resolved, the reference in the input
333 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
334 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
335 # regardless of whether the variable exists or not.
336 # Cannot be updated.
337 # More info:
338 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
339 # +optional
340 "A String",
341 ],
342 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
343 # been opened by a single attach. When stdin is true the stdin stream will
344 # remain open across multiple attach sessions. If stdinOnce is set to true,
345 # stdin is opened on container start, is empty until the first client
346 # attaches to stdin, and then remains open and accepts data until the client
347 # disconnects, at which time stdin is closed and remains closed until the
348 # container is restarted. If this flag is false, a container processes that
349 # reads from stdin will never receive an EOF. Default is false +optional
350 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
351 # contents of terminationMessagePath to populate the container status message
352 # on both success and failure. FallbackToLogsOnError will use the last chunk
353 # of container log output if the termination message file is empty and the
354 # container exited with an error. The log output is limited to 2048 bytes or
355 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
356 # +optional
357 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
358 # lifecycle events. Cannot be updated. +optional
359 # response to container lifecycle events. For the PostStart and PreStop
360 # lifecycle handlers, management of the container blocks until the action is
361 # complete, unless the container process fails, in which case the handler is
362 # aborted.
363 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
364 # The container is terminated after the handler completes.
365 # The reason for termination is passed to the handler.
366 # Regardless of the outcome of the handler, the container is eventually
367 # terminated. Other management of the container blocks until the hook
368 # completes. More info:
369 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
370 # +optional
371 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
372 # TCP hooks not yet supported
373 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
374 # +optional
375 "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.
376 # Number must be in the range 1 to 65535.
377 # Name must be an IANA_SVC_NAME.
378 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
379 # inner type. This allows you to have, for example, a JSON field that can
380 # accept a name or number.
381 "strVal": "A String", # The string value.
382 "type": "A String", # The type of the value.
383 "intVal": 42, # The int value.
384 },
385 },
386 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
387 # +optional
388 "path": "A String", # Path to access on the HTTP server.
389 # +optional
390 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
391 # "Host" in httpHeaders instead.
392 # +optional
393 "scheme": "A String", # Scheme to use for connecting to the host.
394 # Defaults to HTTP.
395 # +optional
396 "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.
397 # Number must be in the range 1 to 65535.
398 # Name must be an IANA_SVC_NAME.
399 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
400 # inner type. This allows you to have, for example, a JSON field that can
401 # accept a name or number.
402 "strVal": "A String", # The string value.
403 "type": "A String", # The type of the value.
404 "intVal": 42, # The int value.
405 },
406 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
407 # +optional
408 { # HTTPHeader describes a custom header to be used in HTTP probes
409 "name": "A String", # The header field name
410 "value": "A String", # The header field value
411 },
412 ],
413 },
414 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
415 # Exec specifies the action to take.
416 # +optional
417 "command": "A String", # Command is the command line to execute inside the container, the working
418 # directory for the command is root ('/') in the container's filesystem. The
419 # command is simply exec'd, it is not run inside a shell, so traditional
420 # shell instructions ('|', etc) won't work. To use a shell, you need to
421 # explicitly call out to that shell. Exit status of 0 is treated as
422 # live/healthy and non-zero is unhealthy. +optional
423 },
424 },
425 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
426 # handler fails, the container is terminated and restarted according to its
427 # restart policy. Other management of the container blocks until the hook
428 # completes. More info:
429 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
430 # +optional
431 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
432 # TCP hooks not yet supported
433 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
434 # +optional
435 "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.
436 # Number must be in the range 1 to 65535.
437 # Name must be an IANA_SVC_NAME.
438 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
439 # inner type. This allows you to have, for example, a JSON field that can
440 # accept a name or number.
441 "strVal": "A String", # The string value.
442 "type": "A String", # The type of the value.
443 "intVal": 42, # The int value.
444 },
445 },
446 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
447 # +optional
448 "path": "A String", # Path to access on the HTTP server.
449 # +optional
450 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
451 # "Host" in httpHeaders instead.
452 # +optional
453 "scheme": "A String", # Scheme to use for connecting to the host.
454 # Defaults to HTTP.
455 # +optional
456 "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.
457 # Number must be in the range 1 to 65535.
458 # Name must be an IANA_SVC_NAME.
459 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
460 # inner type. This allows you to have, for example, a JSON field that can
461 # accept a name or number.
462 "strVal": "A String", # The string value.
463 "type": "A String", # The type of the value.
464 "intVal": 42, # The int value.
465 },
466 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
467 # +optional
468 { # HTTPHeader describes a custom header to be used in HTTP probes
469 "name": "A String", # The header field name
470 "value": "A String", # The header field value
471 },
472 ],
473 },
474 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
475 # Exec specifies the action to take.
476 # +optional
477 "command": "A String", # Command is the command line to execute inside the container, the working
478 # directory for the command is root ('/') in the container's filesystem. The
479 # command is simply exec'd, it is not run inside a shell, so traditional
480 # shell instructions ('|', etc) won't work. To use a shell, you need to
481 # explicitly call out to that shell. Exit status of 0 is treated as
482 # live/healthy and non-zero is unhealthy. +optional
483 },
484 },
485 },
486 "command": [ # Entrypoint array. Not executed within a shell.
487 # The docker image's ENTRYPOINT is used if this is not provided.
488 # Variable references $(VAR_NAME) are expanded using the container's
489 # environment. If a variable cannot be resolved, the reference in the input
490 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
491 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
492 # regardless of whether the variable exists or not.
493 # Cannot be updated.
494 # More info:
495 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
496 # +optional
497 "A String",
498 ],
499 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
500 # Container will be restarted if the probe fails.
501 # Cannot be updated.
502 # More info:
503 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
504 # +optional
505 # determine whether it is alive or ready to receive traffic.
506 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
507 # Defaults to 1 second. Minimum value is 1.
508 # More info:
509 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
510 # +optional
511 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
512 # are initiated. More info:
513 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
514 # +optional
515 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
516 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
517 # TCP hooks not yet supported
518 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
519 # +optional
520 "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.
521 # Number must be in the range 1 to 65535.
522 # Name must be an IANA_SVC_NAME.
523 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
524 # inner type. This allows you to have, for example, a JSON field that can
525 # accept a name or number.
526 "strVal": "A String", # The string value.
527 "type": "A String", # The type of the value.
528 "intVal": 42, # The int value.
529 },
530 },
531 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
532 # +optional
533 "path": "A String", # Path to access on the HTTP server.
534 # +optional
535 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
536 # "Host" in httpHeaders instead.
537 # +optional
538 "scheme": "A String", # Scheme to use for connecting to the host.
539 # Defaults to HTTP.
540 # +optional
541 "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.
542 # Number must be in the range 1 to 65535.
543 # Name must be an IANA_SVC_NAME.
544 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
545 # inner type. This allows you to have, for example, a JSON field that can
546 # accept a name or number.
547 "strVal": "A String", # The string value.
548 "type": "A String", # The type of the value.
549 "intVal": 42, # The int value.
550 },
551 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
552 # +optional
553 { # HTTPHeader describes a custom header to be used in HTTP probes
554 "name": "A String", # The header field name
555 "value": "A String", # The header field value
556 },
557 ],
558 },
559 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
560 # Exec specifies the action to take.
561 # +optional
562 "command": "A String", # Command is the command line to execute inside the container, the working
563 # directory for the command is root ('/') in the container's filesystem. The
564 # command is simply exec'd, it is not run inside a shell, so traditional
565 # shell instructions ('|', etc) won't work. To use a shell, you need to
566 # explicitly call out to that shell. Exit status of 0 is treated as
567 # live/healthy and non-zero is unhealthy. +optional
568 },
569 },
570 "periodSeconds": 42, # How often (in seconds) to perform the probe.
571 # Default to 10 seconds. Minimum value is 1.
572 # +optional
573 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
574 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
575 # is 1. +optional
576 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
577 # having succeeded. Defaults to 3. Minimum value is 1. +optional
578 },
579 "image": "A String", # Docker image name.
580 # More info: https://kubernetes.io/docs/concepts/containers/images
581 "imagePullPolicy": "A String", # Image pull policy.
582 # One of Always, Never, IfNotPresent.
583 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
584 # Cannot be updated.
585 # More info:
586 # https://kubernetes.io/docs/concepts/containers/images#updating-images
587 # +optional
588 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
589 # Container will be removed from service endpoints if the probe fails.
590 # Cannot be updated.
591 # More info:
592 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
593 # +optional
594 # determine whether it is alive or ready to receive traffic.
595 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
596 # Defaults to 1 second. Minimum value is 1.
597 # More info:
598 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
599 # +optional
600 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
601 # are initiated. More info:
602 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
603 # +optional
604 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
605 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
606 # TCP hooks not yet supported
607 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
608 # +optional
609 "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.
610 # Number must be in the range 1 to 65535.
611 # Name must be an IANA_SVC_NAME.
612 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
613 # inner type. This allows you to have, for example, a JSON field that can
614 # accept a name or number.
615 "strVal": "A String", # The string value.
616 "type": "A String", # The type of the value.
617 "intVal": 42, # The int value.
618 },
619 },
620 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
621 # +optional
622 "path": "A String", # Path to access on the HTTP server.
623 # +optional
624 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
625 # "Host" in httpHeaders instead.
626 # +optional
627 "scheme": "A String", # Scheme to use for connecting to the host.
628 # Defaults to HTTP.
629 # +optional
630 "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.
631 # Number must be in the range 1 to 65535.
632 # Name must be an IANA_SVC_NAME.
633 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
634 # inner type. This allows you to have, for example, a JSON field that can
635 # accept a name or number.
636 "strVal": "A String", # The string value.
637 "type": "A String", # The type of the value.
638 "intVal": 42, # The int value.
639 },
640 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
641 # +optional
642 { # HTTPHeader describes a custom header to be used in HTTP probes
643 "name": "A String", # The header field name
644 "value": "A String", # The header field value
645 },
646 ],
647 },
648 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
649 # Exec specifies the action to take.
650 # +optional
651 "command": "A String", # Command is the command line to execute inside the container, the working
652 # directory for the command is root ('/') in the container's filesystem. The
653 # command is simply exec'd, it is not run inside a shell, so traditional
654 # shell instructions ('|', etc) won't work. To use a shell, you need to
655 # explicitly call out to that shell. Exit status of 0 is treated as
656 # live/healthy and non-zero is unhealthy. +optional
657 },
658 },
659 "periodSeconds": 42, # How often (in seconds) to perform the probe.
660 # Default to 10 seconds. Minimum value is 1.
661 # +optional
662 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
663 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
664 # is 1. +optional
665 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
666 # having succeeded. Defaults to 3. Minimum value is 1. +optional
667 },
668 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
669 # message will be written is mounted into the container's filesystem. Message
670 # written is intended to be brief final status, such as an assertion failure
671 # message. Will be truncated by the node if greater than 4096 bytes. The
672 # total message length across all containers will be limited to 12kb.
673 # Defaults to /dev/termination-log.
674 # Cannot be updated.
675 # +optional
676 "ports": [ # List of ports to expose from the container. Exposing a port here gives
677 # the system additional information about the network connections a
678 # container uses, but is primarily informational. Not specifying a port here
679 # DOES NOT prevent that port from being exposed. Any port which is
680 # listening on the default "0.0.0.0" address inside a container will be
681 # accessible from the network.
682 # Cannot be updated.
683 # +optional
684 { # ContainerPort represents a network port in a single container.
685 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
686 # Defaults to "TCP".
687 # +optional
688 "hostIP": "A String", # What host IP to bind the external port to.
689 # +optional
690 "containerPort": 42, # Number of port to expose on the pod's IP address.
691 # This must be a valid port number, 0 < x < 65536.
692 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
693 # named port in a pod must have a unique name. Name for the port that can be
694 # referred to by services.
695 # +optional
696 "hostPort": 42, # Number of port to expose on the host.
697 # If specified, this must be a valid port number, 0 < x < 65536.
698 # If HostNetwork is specified, this must match ContainerPort.
699 # Most containers do not need this.
700 # +optional
701 },
702 ],
703 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
704 # Cannot be updated.
705 # More info:
706 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
707 # +optional
708 "requests": { # Requests describes the minimum amount of compute resources required.
709 # If Requests is omitted for a container, it defaults to Limits if that is
710 # explicitly specified, otherwise to an implementation-defined value.
711 # The values of the map is string form of the 'quantity' k8s type:
712 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
713 "a_key": "A String",
714 },
715 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
716 # If Requests is omitted for a container, it defaults to Limits if that is
717 # explicitly specified, otherwise to an implementation-defined value.
718 # This is a temporary field created to migrate away from the
719 # map<string, Quantity> requests field. This is done to become compliant
720 # with k8s style API.
721 # This field is deprecated in favor of requests field.
722 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
723 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
724 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
725 },
726 },
727 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
728 # This is a temporary field created to migrate away from the
729 # map<string, Quantity> limits field. This is done to become compliant
730 # with k8s style API.
731 # This field is deprecated in favor of limits field.
732 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
733 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
734 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
735 },
736 },
737 "limits": { # Limits describes the maximum amount of compute resources allowed.
738 # The values of the map is string form of the 'quantity' k8s type:
739 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
740 "a_key": "A String",
741 },
742 },
743 "workingDir": "A String", # Container's working directory.
744 # If not specified, the container runtime's default will be used, which
745 # might be configured in the container image.
746 # Cannot be updated.
747 # +optional
748 },
749 "serviceAccountName": "A String", # Not currently used by Cloud Run.
750 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
751 # responding to a request.
752 # Not currently used by Cloud Run.
753 "servingState": "A String", # ServingState holds a value describing the state the resources
754 # are in for this Revision.
755 # Users must not specify this when creating a revision. It is expected
756 # that the system will manipulate this based on routability and load.
757 #
758 # Populated by the system.
759 # Read-only.
760 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
761 # metadata.generation instead, which is the sequence number containing the
762 # latest generation of the desired state.
763 #
764 # Read-only.
765 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
766 # (Single or Multi) for the Revision. Defaults to Multi.
767 # Deprecated in favor of ContainerConcurrency.
768 # +optional
769 "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
770 # requests per container of the Revision. Values are:
771 # - `0` thread-safe, the system should manage the max concurrency. This is
772 # the default value.
773 # - `1` not-thread-safe. Single concurrency
774 # - `2-N` thread-safe, max concurrency of N
775 "volumes": [
776 { # Volume represents a named volume in a container.
777 "configMap": { # Adapts a ConfigMap into a volume.
778 # The contents of the target ConfigMap's Data field will be presented in a
779 # volume as files using the keys in the Data field as the file names, unless
780 # the items element is populated with specific mappings of keys to paths.
781 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
782 # Secret will be projected into the volume as a file whose name is the
783 # key and content is the value. If specified, the listed keys will be
784 # projected into the specified paths, and unlisted keys will not be
785 # present. If a key is specified which is not present in the Secret,
786 # the volume setup will error unless it is marked optional.
787 { # Maps a string key to a path within a volume.
788 "path": "A String", # The relative path of the file to map the key to.
789 # May not be an absolute path.
790 # May not contain the path element '..'.
791 # May not start with the string '..'.
792 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
793 # specified, the volume defaultMode will be used. This might be in conflict
794 # with other options that affect the file mode, like fsGroup, and the result
795 # can be other mode bits set. +optional
796 "key": "A String", # The key to project.
797 },
798 ],
799 "optional": True or False, # Specify whether the Secret or its keys must be defined.
800 "name": "A String", # Name of the config.
801 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
802 # 0777. Defaults to 0644. Directories within the path are not affected by
803 # this setting. This might be in conflict with other options that affect the
804 # file mode, like fsGroup, and the result can be other mode bits set.
805 },
806 "secret": { # The contents of the target Secret's Data field will be presented in a volume
807 # as files using the keys in the Data field as the file names.
808 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
809 # Secret will be projected into the volume as a file whose name is the
810 # key and content is the value. If specified, the listed keys will be
811 # projected into the specified paths, and unlisted keys will not be
812 # present. If a key is specified which is not present in the Secret,
813 # the volume setup will error unless it is marked optional.
814 { # Maps a string key to a path within a volume.
815 "path": "A String", # The relative path of the file to map the key to.
816 # May not be an absolute path.
817 # May not contain the path element '..'.
818 # May not start with the string '..'.
819 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
820 # specified, the volume defaultMode will be used. This might be in conflict
821 # with other options that affect the file mode, like fsGroup, and the result
822 # can be other mode bits set. +optional
823 "key": "A String", # The key to project.
824 },
825 ],
826 "optional": True or False, # Specify whether the Secret or its keys must be defined.
827 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
828 # 0777. Defaults to 0644. Directories within the path are not affected by
829 # this setting. This might be in conflict with other options that affect the
830 # file mode, like fsGroup, and the result can be other mode bits set.
831 "secretName": "A String", # Name of the secret in the container's namespace to use.
832 },
833 "name": "A String", # Volume's name.
834 },
835 ],
836 "containers": [ # Containers holds the single container that defines the unit of execution
837 # for this Revision. In the context of a Revision, we disallow a number of
838 # fields on this Container, including: name and lifecycle.
839 { # A single application container.
840 # This specifies both the container to run, the command to run in the container
841 # and the arguments to supply to it.
842 # Note that additional arguments may be supplied by the system to the container
843 # at runtime.
844 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
845 # 'stdin' to be true. Default is false. +optional
846 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
847 # runtime. If this is not set, reads from stdin in the container will always
848 # result in EOF. Default is false. +optional
849 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
850 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
851 # More info:
852 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
853 # +optional
854 # container. Some fields are present in both SecurityContext and
855 # PodSecurityContext. When both are set, the values in SecurityContext take
856 # precedence.
857 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
858 # Default is false.
859 # +optional
860 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
861 # Uses runtime default if unset.
862 # May also be set in PodSecurityContext. If set in both SecurityContext and
863 # PodSecurityContext, the value specified in SecurityContext takes
864 # precedence. +optional
865 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
866 # Defaults to user specified in image metadata if unspecified.
867 # May also be set in PodSecurityContext. If set in both SecurityContext and
868 # PodSecurityContext, the value specified in SecurityContext takes
869 # precedence. +optional
870 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
871 # privileges than its parent process. This bool directly controls if
872 # the no_new_privs flag will be set on the container process.
873 # AllowPrivilegeEscalation is true always when the container is:
874 # 1) run as Privileged
875 # 2) has CAP_SYS_ADMIN
876 # +optional
877 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
878 # Defaults to the default set of capabilities granted by the container
879 # runtime. +optional
880 "add": [ # Added capabilities
881 # +optional
882 "A String",
883 ],
884 "drop": [ # Removed capabilities
885 # +optional
886 "A String",
887 ],
888 },
889 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
890 # If true, the Kubelet will validate the image at runtime to ensure that it
891 # does not run as UID 0 (root) and fail to start the container if it does.
892 # If unset or false, no such validation will be performed.
893 # May also be set in PodSecurityContext. If set in both SecurityContext and
894 # PodSecurityContext, the value specified in SecurityContext takes
895 # precedence. +optional
896 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
897 # If unspecified, the container runtime will allocate a random SELinux
898 # context for each container. May also be set in PodSecurityContext. If set
899 # in both SecurityContext and PodSecurityContext, the value specified in
900 # SecurityContext takes precedence. +optional
901 "role": "A String", # Role is a SELinux role label that applies to the container.
902 # +optional
903 "type": "A String", # Type is a SELinux type label that applies to the container.
904 # +optional
905 "user": "A String", # User is a SELinux user label that applies to the container.
906 # +optional
907 "level": "A String", # Level is SELinux level label that applies to the container.
908 # +optional
909 },
910 "privileged": True or False, # Run container in privileged mode.
911 # Processes in privileged containers are essentially equivalent to root on
912 # the host. Defaults to false. +optional
913 },
914 "name": "A String", # Name of the container specified as a DNS_LABEL.
915 # Each container must have a unique name (DNS_LABEL).
916 # Cannot be updated.
917 "envFrom": [ # List of sources to populate environment variables in the container.
918 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
919 # will be reported as an event when the container is starting. When a key
920 # exists in multiple sources, the value associated with the last source will
921 # take precedence. Values defined by an Env with a duplicate key will take
922 # precedence. Cannot be updated. +optional
923 { # EnvFromSource represents the source of a set of ConfigMaps
924 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
925 # +optional
926 # variables with.
927 #
928 # The contents of the target Secret's Data field will represent the
929 # key-value pairs as environment variables.
930 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
931 # referenced object inside the same namespace.
932 "name": "A String", # Name of the referent.
933 # More info:
934 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
935 },
936 "optional": True or False, # Specify whether the Secret must be defined
937 # +optional
938 },
939 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
940 # +optional
941 # variables with.
942 #
943 # The contents of the target ConfigMap's Data field will represent the
944 # key-value pairs as environment variables.
945 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
946 # referenced object inside the same namespace.
947 "name": "A String", # Name of the referent.
948 # More info:
949 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
950 },
951 "optional": True or False, # Specify whether the ConfigMap must be defined
952 # +optional
953 },
954 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
955 # C_IDENTIFIER. +optional
956 },
957 ],
958 "env": [ # List of environment variables to set in the container.
959 # Cannot be updated.
960 # +optional
961 { # EnvVar represents an environment variable present in a Container.
962 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
963 "value": "A String", # Variable references $(VAR_NAME) are expanded
964 # using the previous defined environment variables in the container and
965 # any route environment variables. If a variable cannot be resolved,
966 # the reference in the input string will be unchanged. The $(VAR_NAME)
967 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
968 # references will never be expanded, regardless of whether the variable
969 # exists or not.
970 # Defaults to "".
971 # +optional
972 },
973 ],
974 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
975 # Cannot be updated.
976 # +optional
977 { # VolumeMount describes a mounting of a Volume within a container.
978 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
979 # Defaults to false.
980 # +optional
981 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
982 # to container and the other way around.
983 # When not set, MountPropagationHostToContainer is used.
984 # This field is beta in 1.10.
985 # +optional
986 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
987 # Defaults to "" (volume's root).
988 # +optional
989 "name": "A String", # This must match the Name of a Volume.
990 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
991 # not contain ':'.
992 },
993 ],
994 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
995 # This is an alpha feature and may change in the future.
996 # +optional
997 { # volumeDevice describes a mapping of a raw block device within a container.
998 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
999 # mapped to.
1000 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
1001 },
1002 ],
1003 "args": [ # Arguments to the entrypoint.
1004 # The docker image's CMD is used if this is not provided.
1005 # Variable references $(VAR_NAME) are expanded using the container's
1006 # environment. If a variable cannot be resolved, the reference in the input
1007 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1008 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1009 # regardless of whether the variable exists or not.
1010 # Cannot be updated.
1011 # More info:
1012 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1013 # +optional
1014 "A String",
1015 ],
1016 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
1017 # been opened by a single attach. When stdin is true the stdin stream will
1018 # remain open across multiple attach sessions. If stdinOnce is set to true,
1019 # stdin is opened on container start, is empty until the first client
1020 # attaches to stdin, and then remains open and accepts data until the client
1021 # disconnects, at which time stdin is closed and remains closed until the
1022 # container is restarted. If this flag is false, a container processes that
1023 # reads from stdin will never receive an EOF. Default is false +optional
1024 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
1025 # contents of terminationMessagePath to populate the container status message
1026 # on both success and failure. FallbackToLogsOnError will use the last chunk
1027 # of container log output if the termination message file is empty and the
1028 # container exited with an error. The log output is limited to 2048 bytes or
1029 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1030 # +optional
1031 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1032 # lifecycle events. Cannot be updated. +optional
1033 # response to container lifecycle events. For the PostStart and PreStop
1034 # lifecycle handlers, management of the container blocks until the action is
1035 # complete, unless the container process fails, in which case the handler is
1036 # aborted.
1037 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1038 # The container is terminated after the handler completes.
1039 # The reason for termination is passed to the handler.
1040 # Regardless of the outcome of the handler, the container is eventually
1041 # terminated. Other management of the container blocks until the hook
1042 # completes. More info:
1043 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1044 # +optional
1045 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1046 # TCP hooks not yet supported
1047 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1048 # +optional
1049 "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.
1050 # Number must be in the range 1 to 65535.
1051 # Name must be an IANA_SVC_NAME.
1052 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1053 # inner type. This allows you to have, for example, a JSON field that can
1054 # accept a name or number.
1055 "strVal": "A String", # The string value.
1056 "type": "A String", # The type of the value.
1057 "intVal": 42, # The int value.
1058 },
1059 },
1060 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1061 # +optional
1062 "path": "A String", # Path to access on the HTTP server.
1063 # +optional
1064 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1065 # "Host" in httpHeaders instead.
1066 # +optional
1067 "scheme": "A String", # Scheme to use for connecting to the host.
1068 # Defaults to HTTP.
1069 # +optional
1070 "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.
1071 # Number must be in the range 1 to 65535.
1072 # Name must be an IANA_SVC_NAME.
1073 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1074 # inner type. This allows you to have, for example, a JSON field that can
1075 # accept a name or number.
1076 "strVal": "A String", # The string value.
1077 "type": "A String", # The type of the value.
1078 "intVal": 42, # The int value.
1079 },
1080 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1081 # +optional
1082 { # HTTPHeader describes a custom header to be used in HTTP probes
1083 "name": "A String", # The header field name
1084 "value": "A String", # The header field value
1085 },
1086 ],
1087 },
1088 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1089 # Exec specifies the action to take.
1090 # +optional
1091 "command": "A String", # Command is the command line to execute inside the container, the working
1092 # directory for the command is root ('/') in the container's filesystem. The
1093 # command is simply exec'd, it is not run inside a shell, so traditional
1094 # shell instructions ('|', etc) won't work. To use a shell, you need to
1095 # explicitly call out to that shell. Exit status of 0 is treated as
1096 # live/healthy and non-zero is unhealthy. +optional
1097 },
1098 },
1099 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1100 # handler fails, the container is terminated and restarted according to its
1101 # restart policy. Other management of the container blocks until the hook
1102 # completes. More info:
1103 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1104 # +optional
1105 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1106 # TCP hooks not yet supported
1107 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1108 # +optional
1109 "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.
1110 # Number must be in the range 1 to 65535.
1111 # Name must be an IANA_SVC_NAME.
1112 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1113 # inner type. This allows you to have, for example, a JSON field that can
1114 # accept a name or number.
1115 "strVal": "A String", # The string value.
1116 "type": "A String", # The type of the value.
1117 "intVal": 42, # The int value.
1118 },
1119 },
1120 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1121 # +optional
1122 "path": "A String", # Path to access on the HTTP server.
1123 # +optional
1124 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1125 # "Host" in httpHeaders instead.
1126 # +optional
1127 "scheme": "A String", # Scheme to use for connecting to the host.
1128 # Defaults to HTTP.
1129 # +optional
1130 "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.
1131 # Number must be in the range 1 to 65535.
1132 # Name must be an IANA_SVC_NAME.
1133 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1134 # inner type. This allows you to have, for example, a JSON field that can
1135 # accept a name or number.
1136 "strVal": "A String", # The string value.
1137 "type": "A String", # The type of the value.
1138 "intVal": 42, # The int value.
1139 },
1140 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1141 # +optional
1142 { # HTTPHeader describes a custom header to be used in HTTP probes
1143 "name": "A String", # The header field name
1144 "value": "A String", # The header field value
1145 },
1146 ],
1147 },
1148 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1149 # Exec specifies the action to take.
1150 # +optional
1151 "command": "A String", # Command is the command line to execute inside the container, the working
1152 # directory for the command is root ('/') in the container's filesystem. The
1153 # command is simply exec'd, it is not run inside a shell, so traditional
1154 # shell instructions ('|', etc) won't work. To use a shell, you need to
1155 # explicitly call out to that shell. Exit status of 0 is treated as
1156 # live/healthy and non-zero is unhealthy. +optional
1157 },
1158 },
1159 },
1160 "command": [ # Entrypoint array. Not executed within a shell.
1161 # The docker image's ENTRYPOINT is used if this is not provided.
1162 # Variable references $(VAR_NAME) are expanded using the container's
1163 # environment. If a variable cannot be resolved, the reference in the input
1164 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1165 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1166 # regardless of whether the variable exists or not.
1167 # Cannot be updated.
1168 # More info:
1169 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1170 # +optional
1171 "A String",
1172 ],
1173 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
1174 # Container will be restarted if the probe fails.
1175 # Cannot be updated.
1176 # More info:
1177 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1178 # +optional
1179 # determine whether it is alive or ready to receive traffic.
1180 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1181 # Defaults to 1 second. Minimum value is 1.
1182 # More info:
1183 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1184 # +optional
1185 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1186 # are initiated. More info:
1187 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1188 # +optional
1189 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1190 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1191 # TCP hooks not yet supported
1192 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1193 # +optional
1194 "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.
1195 # Number must be in the range 1 to 65535.
1196 # Name must be an IANA_SVC_NAME.
1197 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1198 # inner type. This allows you to have, for example, a JSON field that can
1199 # accept a name or number.
1200 "strVal": "A String", # The string value.
1201 "type": "A String", # The type of the value.
1202 "intVal": 42, # The int value.
1203 },
1204 },
1205 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1206 # +optional
1207 "path": "A String", # Path to access on the HTTP server.
1208 # +optional
1209 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1210 # "Host" in httpHeaders instead.
1211 # +optional
1212 "scheme": "A String", # Scheme to use for connecting to the host.
1213 # Defaults to HTTP.
1214 # +optional
1215 "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.
1216 # Number must be in the range 1 to 65535.
1217 # Name must be an IANA_SVC_NAME.
1218 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1219 # inner type. This allows you to have, for example, a JSON field that can
1220 # accept a name or number.
1221 "strVal": "A String", # The string value.
1222 "type": "A String", # The type of the value.
1223 "intVal": 42, # The int value.
1224 },
1225 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1226 # +optional
1227 { # HTTPHeader describes a custom header to be used in HTTP probes
1228 "name": "A String", # The header field name
1229 "value": "A String", # The header field value
1230 },
1231 ],
1232 },
1233 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1234 # Exec specifies the action to take.
1235 # +optional
1236 "command": "A String", # Command is the command line to execute inside the container, the working
1237 # directory for the command is root ('/') in the container's filesystem. The
1238 # command is simply exec'd, it is not run inside a shell, so traditional
1239 # shell instructions ('|', etc) won't work. To use a shell, you need to
1240 # explicitly call out to that shell. Exit status of 0 is treated as
1241 # live/healthy and non-zero is unhealthy. +optional
1242 },
1243 },
1244 "periodSeconds": 42, # How often (in seconds) to perform the probe.
1245 # Default to 10 seconds. Minimum value is 1.
1246 # +optional
1247 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1248 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1249 # is 1. +optional
1250 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1251 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1252 },
1253 "image": "A String", # Docker image name.
1254 # More info: https://kubernetes.io/docs/concepts/containers/images
1255 "imagePullPolicy": "A String", # Image pull policy.
1256 # One of Always, Never, IfNotPresent.
1257 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
1258 # Cannot be updated.
1259 # More info:
1260 # https://kubernetes.io/docs/concepts/containers/images#updating-images
1261 # +optional
1262 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
1263 # Container will be removed from service endpoints if the probe fails.
1264 # Cannot be updated.
1265 # More info:
1266 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1267 # +optional
1268 # determine whether it is alive or ready to receive traffic.
1269 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1270 # Defaults to 1 second. Minimum value is 1.
1271 # More info:
1272 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1273 # +optional
1274 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1275 # are initiated. More info:
1276 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1277 # +optional
1278 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1279 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1280 # TCP hooks not yet supported
1281 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1282 # +optional
1283 "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.
1284 # Number must be in the range 1 to 65535.
1285 # Name must be an IANA_SVC_NAME.
1286 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1287 # inner type. This allows you to have, for example, a JSON field that can
1288 # accept a name or number.
1289 "strVal": "A String", # The string value.
1290 "type": "A String", # The type of the value.
1291 "intVal": 42, # The int value.
1292 },
1293 },
1294 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1295 # +optional
1296 "path": "A String", # Path to access on the HTTP server.
1297 # +optional
1298 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1299 # "Host" in httpHeaders instead.
1300 # +optional
1301 "scheme": "A String", # Scheme to use for connecting to the host.
1302 # Defaults to HTTP.
1303 # +optional
1304 "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.
1305 # Number must be in the range 1 to 65535.
1306 # Name must be an IANA_SVC_NAME.
1307 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1308 # inner type. This allows you to have, for example, a JSON field that can
1309 # accept a name or number.
1310 "strVal": "A String", # The string value.
1311 "type": "A String", # The type of the value.
1312 "intVal": 42, # The int value.
1313 },
1314 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1315 # +optional
1316 { # HTTPHeader describes a custom header to be used in HTTP probes
1317 "name": "A String", # The header field name
1318 "value": "A String", # The header field value
1319 },
1320 ],
1321 },
1322 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1323 # Exec specifies the action to take.
1324 # +optional
1325 "command": "A String", # Command is the command line to execute inside the container, the working
1326 # directory for the command is root ('/') in the container's filesystem. The
1327 # command is simply exec'd, it is not run inside a shell, so traditional
1328 # shell instructions ('|', etc) won't work. To use a shell, you need to
1329 # explicitly call out to that shell. Exit status of 0 is treated as
1330 # live/healthy and non-zero is unhealthy. +optional
1331 },
1332 },
1333 "periodSeconds": 42, # How often (in seconds) to perform the probe.
1334 # Default to 10 seconds. Minimum value is 1.
1335 # +optional
1336 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1337 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1338 # is 1. +optional
1339 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1340 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1341 },
1342 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
1343 # message will be written is mounted into the container's filesystem. Message
1344 # written is intended to be brief final status, such as an assertion failure
1345 # message. Will be truncated by the node if greater than 4096 bytes. The
1346 # total message length across all containers will be limited to 12kb.
1347 # Defaults to /dev/termination-log.
1348 # Cannot be updated.
1349 # +optional
1350 "ports": [ # List of ports to expose from the container. Exposing a port here gives
1351 # the system additional information about the network connections a
1352 # container uses, but is primarily informational. Not specifying a port here
1353 # DOES NOT prevent that port from being exposed. Any port which is
1354 # listening on the default "0.0.0.0" address inside a container will be
1355 # accessible from the network.
1356 # Cannot be updated.
1357 # +optional
1358 { # ContainerPort represents a network port in a single container.
1359 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
1360 # Defaults to "TCP".
1361 # +optional
1362 "hostIP": "A String", # What host IP to bind the external port to.
1363 # +optional
1364 "containerPort": 42, # Number of port to expose on the pod's IP address.
1365 # This must be a valid port number, 0 < x < 65536.
1366 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
1367 # named port in a pod must have a unique name. Name for the port that can be
1368 # referred to by services.
1369 # +optional
1370 "hostPort": 42, # Number of port to expose on the host.
1371 # If specified, this must be a valid port number, 0 < x < 65536.
1372 # If HostNetwork is specified, this must match ContainerPort.
1373 # Most containers do not need this.
1374 # +optional
1375 },
1376 ],
1377 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
1378 # Cannot be updated.
1379 # More info:
1380 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
1381 # +optional
1382 "requests": { # Requests describes the minimum amount of compute resources required.
1383 # If Requests is omitted for a container, it defaults to Limits if that is
1384 # explicitly specified, otherwise to an implementation-defined value.
1385 # The values of the map is string form of the 'quantity' k8s type:
1386 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1387 "a_key": "A String",
1388 },
1389 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
1390 # If Requests is omitted for a container, it defaults to Limits if that is
1391 # explicitly specified, otherwise to an implementation-defined value.
1392 # This is a temporary field created to migrate away from the
1393 # map<string, Quantity> requests field. This is done to become compliant
1394 # with k8s style API.
1395 # This field is deprecated in favor of requests field.
1396 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1397 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1398 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1399 },
1400 },
1401 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
1402 # This is a temporary field created to migrate away from the
1403 # map<string, Quantity> limits field. This is done to become compliant
1404 # with k8s style API.
1405 # This field is deprecated in favor of limits field.
1406 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1407 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1408 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1409 },
1410 },
1411 "limits": { # Limits describes the maximum amount of compute resources allowed.
1412 # The values of the map is string form of the 'quantity' k8s type:
1413 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1414 "a_key": "A String",
1415 },
1416 },
1417 "workingDir": "A String", # Container's working directory.
1418 # If not specified, the container runtime's default will be used, which
1419 # might be configured in the container image.
1420 # Cannot be updated.
1421 # +optional
1422 },
1423 ],
1424 },
1425 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
1426 # will be generated by the Configuration.
1427 # all objects users must create.
1428 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
1429 # been deleted, this object will be garbage collected.
1430 # +optional
1431 { # OwnerReference contains enough information to let you identify an owning
1432 # object. Currently, an owning object must be in the same namespace, so there
1433 # is no namespace field.
1434 "kind": "A String", # Kind of the referent.
1435 # More info:
1436 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
1437 "uid": "A String", # UID of the referent.
1438 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1439 "apiVersion": "A String", # API version of the referent.
1440 "controller": True or False, # If true, this reference points to the managing controller.
1441 # +optional
1442 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
1443 # the owner cannot be deleted from the key-value store until this
1444 # reference is removed.
1445 # Defaults to false.
1446 # To set this field, a user needs "delete" permission of the owner,
1447 # otherwise 422 (Unprocessable Entity) will be returned.
1448 # +optional
1449 "name": "A String", # Name of the referent.
1450 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1451 },
1452 ],
1453 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
1454 # Is required when creating
1455 # resources, although some resources may allow a client to request the
1456 # generation of an appropriate name automatically. Name is primarily intended
1457 # for creation idempotence and configuration definition. Cannot be updated.
1458 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1459 # +optional
1460 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
1461 # deleted. This field is set by the server when a graceful deletion is
1462 # requested by the user, and is not directly settable by a client. The
1463 # resource is expected to be deleted (no longer visible from resource lists,
1464 # and not reachable by name) after the time in this field, once the
1465 # finalizers list is empty. As long as the finalizers list contains items,
1466 # deletion is blocked. Once the deletionTimestamp is set, this value may not
1467 # be unset or be set further into the future, although it may be shortened or
1468 # the resource may be deleted prior to this time. For example, a user may
1469 # request that a pod is deleted in 30 seconds. The Kubelet will react by
1470 # sending a graceful termination signal to the containers in the pod. After
1471 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
1472 # to the container and after cleanup, remove the pod from the API. In the
1473 # presence of network partitions, this object may still exist after this
1474 # timestamp, until an administrator or automated process can determine the
1475 # resource is fully terminated.
1476 # If not set, graceful deletion of the object has not been requested.
1477 #
1478 # Populated by the system when a graceful deletion is requested.
1479 # Read-only.
1480 # More info:
1481 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1482 # +optional
1483 "clusterName": "A String", # Not currently supported by Cloud Run.
1484 #
1485 # The name of the cluster which the object belongs to.
1486 # This is used to distinguish resources with same name and namespace in
1487 # different clusters. This field is not set anywhere right now and apiserver
1488 # is going to ignore it if set in create or update request. +optional
1489 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
1490 #
1491 # Number of seconds allowed for this object to gracefully terminate before
1492 # it will be removed from the system. Only set when deletionTimestamp is also
1493 # set. May only be shortened. Read-only. +optional
1494 "labels": { # Map of string keys and values that can be used to organize and categorize
1495 # (scope and select) objects. May match selectors of replication controllers
1496 # and routes.
1497 # More info: http://kubernetes.io/docs/user-guide/labels
1498 # +optional
1499 "a_key": "A String",
1500 },
1501 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
1502 # Cloud Run region. In Cloud Run the namespace must be equal to either the
1503 # project ID or project number.
1504 "generation": 42, # A sequence number representing a specific generation of the desired state.
1505 # Populated by the system. Read-only.
1506 # +optional
1507 "finalizers": [ # Not currently supported by Cloud Run.
1508 #
1509 # Must be empty before the object is deleted from the registry. Each entry
1510 # is an identifier for the responsible component that will remove the entry
1511 # from the list. If the deletionTimestamp of the object is non-nil, entries
1512 # in this list can only be removed.
1513 # +optional
1514 # +patchStrategy=merge
1515 "A String",
1516 ],
1517 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
1518 #
1519 # An initializer is a controller which enforces some system invariant at
1520 # object creation time. This field is a list of initializers that have not
1521 # yet acted on this object. If nil or empty, this object has been completely
1522 # initialized. Otherwise, the object is considered uninitialized and is
1523 # hidden (in list/watch and get calls) from clients that haven't explicitly
1524 # asked to observe uninitialized objects.
1525 #
1526 # When an object is created, the system will populate this list with the
1527 # current set of initializers. Only privileged users may set or modify this
1528 # list. Once it is empty, it may not be modified further by any user.
1529 "pending": [ # Pending is a list of initializers that must execute in order before this
1530 # object is visible. When the last pending initializer is removed, and no
1531 # failing result is set, the initializers struct will be set to nil and the
1532 # object is considered as initialized and visible to all clients.
1533 # +patchMergeKey=name
1534 # +patchStrategy=merge
1535 { # Initializer is information about an initializer that has not yet completed.
1536 "name": "A String", # name of the process that is responsible for initializing this object.
1537 },
1538 ],
1539 },
1540 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
1541 # can be used by clients to determine when objects have changed. May be used
1542 # for optimistic concurrency, change detection, and the watch operation on a
1543 # resource or set of resources. Clients must treat these values as opaque and
1544 # passed unmodified back to the server. They may only be valid for a
1545 # particular resource or set of resources.
1546 #
1547 # Populated by the system.
1548 # Read-only.
1549 # Value must be treated as opaque by clients and .
1550 # More info:
1551 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
1552 # +optional
1553 "generateName": "A String", # Not currently supported by Cloud Run.
1554 #
1555 # GenerateName is an optional prefix, used by the server, to generate a
1556 # unique name ONLY IF the Name field has not been provided. If this field is
1557 # used, the name returned to the client will be different than the name
1558 # passed. This value will also be combined with a unique suffix. The provided
1559 # value has the same validation rules as the Name field, and may be truncated
1560 # by the length of the suffix required to make the value unique on the
1561 # server.
1562 #
1563 # If this field is specified and the generated name exists, the server will
1564 # NOT return a 409 - instead, it will either return 201 Created or 500 with
1565 # Reason ServerTimeout indicating a unique name could not be found in the
1566 # time allotted, and the client should retry (optionally after the time
1567 # indicated in the Retry-After header).
1568 #
1569 # Applied only if Name is not specified.
1570 # More info:
1571 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
1572 # +optional
1573 # string generateName = 2;
1574 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
1575 # object was created. It is not guaranteed to be set in happens-before order
1576 # across separate operations. Clients may not set this value. It is
1577 # represented in RFC3339 form and is in UTC.
1578 #
1579 # Populated by the system.
1580 # Read-only.
1581 # Null for lists.
1582 # More info:
1583 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1584 # +optional
1585 "annotations": { # Annotations is an unstructured key value map stored with a resource that
1586 # may be set by external tools to store and retrieve arbitrary metadata. They
1587 # are not queryable and should be preserved when modifying objects. More
1588 # info: http://kubernetes.io/docs/user-guide/annotations +optional
1589 "a_key": "A String",
1590 },
1591 "selfLink": "A String", # SelfLink is a URL representing this object.
1592 # Populated by the system.
1593 # Read-only.
1594 # +optional
1595 # string selfLink = 4;
1596 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
1597 # generated by the server on successful creation of a resource and is not
1598 # allowed to change on PUT operations.
1599 #
1600 # Populated by the system.
1601 # Read-only.
1602 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1603 # +optional
1604 },
1605 },
1606 "template": { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
1607 # Not currently supported by Cloud Run.
1608 # from a template. Based on:
1609 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
1610 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
1611 "container": { # A single application container. # Container defines the unit of execution for this Revision.
1612 # In the context of a Revision, we disallow a number of the fields of
1613 # this Container, including: name, ports, and volumeMounts.
1614 # The runtime contract is documented here:
1615 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
1616 # This specifies both the container to run, the command to run in the container
1617 # and the arguments to supply to it.
1618 # Note that additional arguments may be supplied by the system to the container
1619 # at runtime.
1620 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
1621 # 'stdin' to be true. Default is false. +optional
1622 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
1623 # runtime. If this is not set, reads from stdin in the container will always
1624 # result in EOF. Default is false. +optional
1625 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
1626 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
1627 # More info:
1628 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1629 # +optional
1630 # container. Some fields are present in both SecurityContext and
1631 # PodSecurityContext. When both are set, the values in SecurityContext take
1632 # precedence.
1633 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
1634 # Default is false.
1635 # +optional
1636 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
1637 # Uses runtime default if unset.
1638 # May also be set in PodSecurityContext. If set in both SecurityContext and
1639 # PodSecurityContext, the value specified in SecurityContext takes
1640 # precedence. +optional
1641 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
1642 # Defaults to user specified in image metadata if unspecified.
1643 # May also be set in PodSecurityContext. If set in both SecurityContext and
1644 # PodSecurityContext, the value specified in SecurityContext takes
1645 # precedence. +optional
1646 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
1647 # privileges than its parent process. This bool directly controls if
1648 # the no_new_privs flag will be set on the container process.
1649 # AllowPrivilegeEscalation is true always when the container is:
1650 # 1) run as Privileged
1651 # 2) has CAP_SYS_ADMIN
1652 # +optional
1653 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
1654 # Defaults to the default set of capabilities granted by the container
1655 # runtime. +optional
1656 "add": [ # Added capabilities
1657 # +optional
1658 "A String",
1659 ],
1660 "drop": [ # Removed capabilities
1661 # +optional
1662 "A String",
1663 ],
1664 },
1665 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
1666 # If true, the Kubelet will validate the image at runtime to ensure that it
1667 # does not run as UID 0 (root) and fail to start the container if it does.
1668 # If unset or false, no such validation will be performed.
1669 # May also be set in PodSecurityContext. If set in both SecurityContext and
1670 # PodSecurityContext, the value specified in SecurityContext takes
1671 # precedence. +optional
1672 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
1673 # If unspecified, the container runtime will allocate a random SELinux
1674 # context for each container. May also be set in PodSecurityContext. If set
1675 # in both SecurityContext and PodSecurityContext, the value specified in
1676 # SecurityContext takes precedence. +optional
1677 "role": "A String", # Role is a SELinux role label that applies to the container.
1678 # +optional
1679 "type": "A String", # Type is a SELinux type label that applies to the container.
1680 # +optional
1681 "user": "A String", # User is a SELinux user label that applies to the container.
1682 # +optional
1683 "level": "A String", # Level is SELinux level label that applies to the container.
1684 # +optional
1685 },
1686 "privileged": True or False, # Run container in privileged mode.
1687 # Processes in privileged containers are essentially equivalent to root on
1688 # the host. Defaults to false. +optional
1689 },
1690 "name": "A String", # Name of the container specified as a DNS_LABEL.
1691 # Each container must have a unique name (DNS_LABEL).
1692 # Cannot be updated.
1693 "envFrom": [ # List of sources to populate environment variables in the container.
1694 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
1695 # will be reported as an event when the container is starting. When a key
1696 # exists in multiple sources, the value associated with the last source will
1697 # take precedence. Values defined by an Env with a duplicate key will take
1698 # precedence. Cannot be updated. +optional
1699 { # EnvFromSource represents the source of a set of ConfigMaps
1700 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
1701 # +optional
1702 # variables with.
1703 #
1704 # The contents of the target Secret's Data field will represent the
1705 # key-value pairs as environment variables.
1706 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
1707 # referenced object inside the same namespace.
1708 "name": "A String", # Name of the referent.
1709 # More info:
1710 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1711 },
1712 "optional": True or False, # Specify whether the Secret must be defined
1713 # +optional
1714 },
1715 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
1716 # +optional
1717 # variables with.
1718 #
1719 # The contents of the target ConfigMap's Data field will represent the
1720 # key-value pairs as environment variables.
1721 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
1722 # referenced object inside the same namespace.
1723 "name": "A String", # Name of the referent.
1724 # More info:
1725 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1726 },
1727 "optional": True or False, # Specify whether the ConfigMap must be defined
1728 # +optional
1729 },
1730 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
1731 # C_IDENTIFIER. +optional
1732 },
1733 ],
1734 "env": [ # List of environment variables to set in the container.
1735 # Cannot be updated.
1736 # +optional
1737 { # EnvVar represents an environment variable present in a Container.
1738 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
1739 "value": "A String", # Variable references $(VAR_NAME) are expanded
1740 # using the previous defined environment variables in the container and
1741 # any route environment variables. If a variable cannot be resolved,
1742 # the reference in the input string will be unchanged. The $(VAR_NAME)
1743 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
1744 # references will never be expanded, regardless of whether the variable
1745 # exists or not.
1746 # Defaults to "".
1747 # +optional
1748 },
1749 ],
1750 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
1751 # Cannot be updated.
1752 # +optional
1753 { # VolumeMount describes a mounting of a Volume within a container.
1754 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
1755 # Defaults to false.
1756 # +optional
1757 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
1758 # to container and the other way around.
1759 # When not set, MountPropagationHostToContainer is used.
1760 # This field is beta in 1.10.
1761 # +optional
1762 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
1763 # Defaults to "" (volume's root).
1764 # +optional
1765 "name": "A String", # This must match the Name of a Volume.
1766 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
1767 # not contain ':'.
1768 },
1769 ],
1770 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
1771 # This is an alpha feature and may change in the future.
1772 # +optional
1773 { # volumeDevice describes a mapping of a raw block device within a container.
1774 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
1775 # mapped to.
1776 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
1777 },
1778 ],
1779 "args": [ # Arguments to the entrypoint.
1780 # The docker image's CMD is used if this is not provided.
1781 # Variable references $(VAR_NAME) are expanded using the container's
1782 # environment. If a variable cannot be resolved, the reference in the input
1783 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1784 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1785 # regardless of whether the variable exists or not.
1786 # Cannot be updated.
1787 # More info:
1788 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1789 # +optional
1790 "A String",
1791 ],
1792 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
1793 # been opened by a single attach. When stdin is true the stdin stream will
1794 # remain open across multiple attach sessions. If stdinOnce is set to true,
1795 # stdin is opened on container start, is empty until the first client
1796 # attaches to stdin, and then remains open and accepts data until the client
1797 # disconnects, at which time stdin is closed and remains closed until the
1798 # container is restarted. If this flag is false, a container processes that
1799 # reads from stdin will never receive an EOF. Default is false +optional
1800 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
1801 # contents of terminationMessagePath to populate the container status message
1802 # on both success and failure. FallbackToLogsOnError will use the last chunk
1803 # of container log output if the termination message file is empty and the
1804 # container exited with an error. The log output is limited to 2048 bytes or
1805 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1806 # +optional
1807 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1808 # lifecycle events. Cannot be updated. +optional
1809 # response to container lifecycle events. For the PostStart and PreStop
1810 # lifecycle handlers, management of the container blocks until the action is
1811 # complete, unless the container process fails, in which case the handler is
1812 # aborted.
1813 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1814 # The container is terminated after the handler completes.
1815 # The reason for termination is passed to the handler.
1816 # Regardless of the outcome of the handler, the container is eventually
1817 # terminated. Other management of the container blocks until the hook
1818 # completes. More info:
1819 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1820 # +optional
1821 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1822 # TCP hooks not yet supported
1823 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1824 # +optional
1825 "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.
1826 # Number must be in the range 1 to 65535.
1827 # Name must be an IANA_SVC_NAME.
1828 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1829 # inner type. This allows you to have, for example, a JSON field that can
1830 # accept a name or number.
1831 "strVal": "A String", # The string value.
1832 "type": "A String", # The type of the value.
1833 "intVal": 42, # The int value.
1834 },
1835 },
1836 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1837 # +optional
1838 "path": "A String", # Path to access on the HTTP server.
1839 # +optional
1840 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1841 # "Host" in httpHeaders instead.
1842 # +optional
1843 "scheme": "A String", # Scheme to use for connecting to the host.
1844 # Defaults to HTTP.
1845 # +optional
1846 "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.
1847 # Number must be in the range 1 to 65535.
1848 # Name must be an IANA_SVC_NAME.
1849 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1850 # inner type. This allows you to have, for example, a JSON field that can
1851 # accept a name or number.
1852 "strVal": "A String", # The string value.
1853 "type": "A String", # The type of the value.
1854 "intVal": 42, # The int value.
1855 },
1856 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1857 # +optional
1858 { # HTTPHeader describes a custom header to be used in HTTP probes
1859 "name": "A String", # The header field name
1860 "value": "A String", # The header field value
1861 },
1862 ],
1863 },
1864 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1865 # Exec specifies the action to take.
1866 # +optional
1867 "command": "A String", # Command is the command line to execute inside the container, the working
1868 # directory for the command is root ('/') in the container's filesystem. The
1869 # command is simply exec'd, it is not run inside a shell, so traditional
1870 # shell instructions ('|', etc) won't work. To use a shell, you need to
1871 # explicitly call out to that shell. Exit status of 0 is treated as
1872 # live/healthy and non-zero is unhealthy. +optional
1873 },
1874 },
1875 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1876 # handler fails, the container is terminated and restarted according to its
1877 # restart policy. Other management of the container blocks until the hook
1878 # completes. More info:
1879 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1880 # +optional
1881 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1882 # TCP hooks not yet supported
1883 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1884 # +optional
1885 "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.
1886 # Number must be in the range 1 to 65535.
1887 # Name must be an IANA_SVC_NAME.
1888 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1889 # inner type. This allows you to have, for example, a JSON field that can
1890 # accept a name or number.
1891 "strVal": "A String", # The string value.
1892 "type": "A String", # The type of the value.
1893 "intVal": 42, # The int value.
1894 },
1895 },
1896 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1897 # +optional
1898 "path": "A String", # Path to access on the HTTP server.
1899 # +optional
1900 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1901 # "Host" in httpHeaders instead.
1902 # +optional
1903 "scheme": "A String", # Scheme to use for connecting to the host.
1904 # Defaults to HTTP.
1905 # +optional
1906 "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.
1907 # Number must be in the range 1 to 65535.
1908 # Name must be an IANA_SVC_NAME.
1909 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1910 # inner type. This allows you to have, for example, a JSON field that can
1911 # accept a name or number.
1912 "strVal": "A String", # The string value.
1913 "type": "A String", # The type of the value.
1914 "intVal": 42, # The int value.
1915 },
1916 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1917 # +optional
1918 { # HTTPHeader describes a custom header to be used in HTTP probes
1919 "name": "A String", # The header field name
1920 "value": "A String", # The header field value
1921 },
1922 ],
1923 },
1924 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1925 # Exec specifies the action to take.
1926 # +optional
1927 "command": "A String", # Command is the command line to execute inside the container, the working
1928 # directory for the command is root ('/') in the container's filesystem. The
1929 # command is simply exec'd, it is not run inside a shell, so traditional
1930 # shell instructions ('|', etc) won't work. To use a shell, you need to
1931 # explicitly call out to that shell. Exit status of 0 is treated as
1932 # live/healthy and non-zero is unhealthy. +optional
1933 },
1934 },
1935 },
1936 "command": [ # Entrypoint array. Not executed within a shell.
1937 # The docker image's ENTRYPOINT is used if this is not provided.
1938 # Variable references $(VAR_NAME) are expanded using the container's
1939 # environment. If a variable cannot be resolved, the reference in the input
1940 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1941 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1942 # regardless of whether the variable exists or not.
1943 # Cannot be updated.
1944 # More info:
1945 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1946 # +optional
1947 "A String",
1948 ],
1949 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
1950 # Container will be restarted if the probe fails.
1951 # Cannot be updated.
1952 # More info:
1953 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1954 # +optional
1955 # determine whether it is alive or ready to receive traffic.
1956 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1957 # Defaults to 1 second. Minimum value is 1.
1958 # More info:
1959 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1960 # +optional
1961 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1962 # are initiated. More info:
1963 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1964 # +optional
1965 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1966 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1967 # TCP hooks not yet supported
1968 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1969 # +optional
1970 "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.
1971 # Number must be in the range 1 to 65535.
1972 # Name must be an IANA_SVC_NAME.
1973 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1974 # inner type. This allows you to have, for example, a JSON field that can
1975 # accept a name or number.
1976 "strVal": "A String", # The string value.
1977 "type": "A String", # The type of the value.
1978 "intVal": 42, # The int value.
1979 },
1980 },
1981 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1982 # +optional
1983 "path": "A String", # Path to access on the HTTP server.
1984 # +optional
1985 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1986 # "Host" in httpHeaders instead.
1987 # +optional
1988 "scheme": "A String", # Scheme to use for connecting to the host.
1989 # Defaults to HTTP.
1990 # +optional
1991 "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.
1992 # Number must be in the range 1 to 65535.
1993 # Name must be an IANA_SVC_NAME.
1994 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1995 # inner type. This allows you to have, for example, a JSON field that can
1996 # accept a name or number.
1997 "strVal": "A String", # The string value.
1998 "type": "A String", # The type of the value.
1999 "intVal": 42, # The int value.
2000 },
2001 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2002 # +optional
2003 { # HTTPHeader describes a custom header to be used in HTTP probes
2004 "name": "A String", # The header field name
2005 "value": "A String", # The header field value
2006 },
2007 ],
2008 },
2009 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2010 # Exec specifies the action to take.
2011 # +optional
2012 "command": "A String", # Command is the command line to execute inside the container, the working
2013 # directory for the command is root ('/') in the container's filesystem. The
2014 # command is simply exec'd, it is not run inside a shell, so traditional
2015 # shell instructions ('|', etc) won't work. To use a shell, you need to
2016 # explicitly call out to that shell. Exit status of 0 is treated as
2017 # live/healthy and non-zero is unhealthy. +optional
2018 },
2019 },
2020 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2021 # Default to 10 seconds. Minimum value is 1.
2022 # +optional
2023 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2024 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2025 # is 1. +optional
2026 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2027 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2028 },
2029 "image": "A String", # Docker image name.
2030 # More info: https://kubernetes.io/docs/concepts/containers/images
2031 "imagePullPolicy": "A String", # Image pull policy.
2032 # One of Always, Never, IfNotPresent.
2033 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2034 # Cannot be updated.
2035 # More info:
2036 # https://kubernetes.io/docs/concepts/containers/images#updating-images
2037 # +optional
2038 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2039 # Container will be removed from service endpoints if the probe fails.
2040 # Cannot be updated.
2041 # More info:
2042 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2043 # +optional
2044 # determine whether it is alive or ready to receive traffic.
2045 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2046 # Defaults to 1 second. Minimum value is 1.
2047 # More info:
2048 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2049 # +optional
2050 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2051 # are initiated. More info:
2052 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2053 # +optional
2054 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2055 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2056 # TCP hooks not yet supported
2057 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2058 # +optional
2059 "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.
2060 # Number must be in the range 1 to 65535.
2061 # Name must be an IANA_SVC_NAME.
2062 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2063 # inner type. This allows you to have, for example, a JSON field that can
2064 # accept a name or number.
2065 "strVal": "A String", # The string value.
2066 "type": "A String", # The type of the value.
2067 "intVal": 42, # The int value.
2068 },
2069 },
2070 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2071 # +optional
2072 "path": "A String", # Path to access on the HTTP server.
2073 # +optional
2074 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2075 # "Host" in httpHeaders instead.
2076 # +optional
2077 "scheme": "A String", # Scheme to use for connecting to the host.
2078 # Defaults to HTTP.
2079 # +optional
2080 "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.
2081 # Number must be in the range 1 to 65535.
2082 # Name must be an IANA_SVC_NAME.
2083 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2084 # inner type. This allows you to have, for example, a JSON field that can
2085 # accept a name or number.
2086 "strVal": "A String", # The string value.
2087 "type": "A String", # The type of the value.
2088 "intVal": 42, # The int value.
2089 },
2090 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2091 # +optional
2092 { # HTTPHeader describes a custom header to be used in HTTP probes
2093 "name": "A String", # The header field name
2094 "value": "A String", # The header field value
2095 },
2096 ],
2097 },
2098 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2099 # Exec specifies the action to take.
2100 # +optional
2101 "command": "A String", # Command is the command line to execute inside the container, the working
2102 # directory for the command is root ('/') in the container's filesystem. The
2103 # command is simply exec'd, it is not run inside a shell, so traditional
2104 # shell instructions ('|', etc) won't work. To use a shell, you need to
2105 # explicitly call out to that shell. Exit status of 0 is treated as
2106 # live/healthy and non-zero is unhealthy. +optional
2107 },
2108 },
2109 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2110 # Default to 10 seconds. Minimum value is 1.
2111 # +optional
2112 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2113 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2114 # is 1. +optional
2115 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2116 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2117 },
2118 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
2119 # message will be written is mounted into the container's filesystem. Message
2120 # written is intended to be brief final status, such as an assertion failure
2121 # message. Will be truncated by the node if greater than 4096 bytes. The
2122 # total message length across all containers will be limited to 12kb.
2123 # Defaults to /dev/termination-log.
2124 # Cannot be updated.
2125 # +optional
2126 "ports": [ # List of ports to expose from the container. Exposing a port here gives
2127 # the system additional information about the network connections a
2128 # container uses, but is primarily informational. Not specifying a port here
2129 # DOES NOT prevent that port from being exposed. Any port which is
2130 # listening on the default "0.0.0.0" address inside a container will be
2131 # accessible from the network.
2132 # Cannot be updated.
2133 # +optional
2134 { # ContainerPort represents a network port in a single container.
2135 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2136 # Defaults to "TCP".
2137 # +optional
2138 "hostIP": "A String", # What host IP to bind the external port to.
2139 # +optional
2140 "containerPort": 42, # Number of port to expose on the pod's IP address.
2141 # This must be a valid port number, 0 < x < 65536.
2142 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2143 # named port in a pod must have a unique name. Name for the port that can be
2144 # referred to by services.
2145 # +optional
2146 "hostPort": 42, # Number of port to expose on the host.
2147 # If specified, this must be a valid port number, 0 < x < 65536.
2148 # If HostNetwork is specified, this must match ContainerPort.
2149 # Most containers do not need this.
2150 # +optional
2151 },
2152 ],
2153 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
2154 # Cannot be updated.
2155 # More info:
2156 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2157 # +optional
2158 "requests": { # Requests describes the minimum amount of compute resources required.
2159 # If Requests is omitted for a container, it defaults to Limits if that is
2160 # explicitly specified, otherwise to an implementation-defined value.
2161 # The values of the map is string form of the 'quantity' k8s type:
2162 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2163 "a_key": "A String",
2164 },
2165 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
2166 # If Requests is omitted for a container, it defaults to Limits if that is
2167 # explicitly specified, otherwise to an implementation-defined value.
2168 # This is a temporary field created to migrate away from the
2169 # map<string, Quantity> requests field. This is done to become compliant
2170 # with k8s style API.
2171 # This field is deprecated in favor of requests field.
2172 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2173 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2174 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2175 },
2176 },
2177 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
2178 # This is a temporary field created to migrate away from the
2179 # map<string, Quantity> limits field. This is done to become compliant
2180 # with k8s style API.
2181 # This field is deprecated in favor of limits field.
2182 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2183 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2184 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2185 },
2186 },
2187 "limits": { # Limits describes the maximum amount of compute resources allowed.
2188 # The values of the map is string form of the 'quantity' k8s type:
2189 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2190 "a_key": "A String",
2191 },
2192 },
2193 "workingDir": "A String", # Container's working directory.
2194 # If not specified, the container runtime's default will be used, which
2195 # might be configured in the container image.
2196 # Cannot be updated.
2197 # +optional
2198 },
2199 "serviceAccountName": "A String", # Not currently used by Cloud Run.
2200 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
2201 # responding to a request.
2202 # Not currently used by Cloud Run.
2203 "servingState": "A String", # ServingState holds a value describing the state the resources
2204 # are in for this Revision.
2205 # Users must not specify this when creating a revision. It is expected
2206 # that the system will manipulate this based on routability and load.
2207 #
2208 # Populated by the system.
2209 # Read-only.
2210 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
2211 # metadata.generation instead, which is the sequence number containing the
2212 # latest generation of the desired state.
2213 #
2214 # Read-only.
2215 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
2216 # (Single or Multi) for the Revision. Defaults to Multi.
2217 # Deprecated in favor of ContainerConcurrency.
2218 # +optional
2219 "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
2220 # requests per container of the Revision. Values are:
2221 # - `0` thread-safe, the system should manage the max concurrency. This is
2222 # the default value.
2223 # - `1` not-thread-safe. Single concurrency
2224 # - `2-N` thread-safe, max concurrency of N
2225 "volumes": [
2226 { # Volume represents a named volume in a container.
2227 "configMap": { # Adapts a ConfigMap into a volume.
2228 # The contents of the target ConfigMap's Data field will be presented in a
2229 # volume as files using the keys in the Data field as the file names, unless
2230 # the items element is populated with specific mappings of keys to paths.
2231 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2232 # Secret will be projected into the volume as a file whose name is the
2233 # key and content is the value. If specified, the listed keys will be
2234 # projected into the specified paths, and unlisted keys will not be
2235 # present. If a key is specified which is not present in the Secret,
2236 # the volume setup will error unless it is marked optional.
2237 { # Maps a string key to a path within a volume.
2238 "path": "A String", # The relative path of the file to map the key to.
2239 # May not be an absolute path.
2240 # May not contain the path element '..'.
2241 # May not start with the string '..'.
2242 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2243 # specified, the volume defaultMode will be used. This might be in conflict
2244 # with other options that affect the file mode, like fsGroup, and the result
2245 # can be other mode bits set. +optional
2246 "key": "A String", # The key to project.
2247 },
2248 ],
2249 "optional": True or False, # Specify whether the Secret or its keys must be defined.
2250 "name": "A String", # Name of the config.
2251 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2252 # 0777. Defaults to 0644. Directories within the path are not affected by
2253 # this setting. This might be in conflict with other options that affect the
2254 # file mode, like fsGroup, and the result can be other mode bits set.
2255 },
2256 "secret": { # The contents of the target Secret's Data field will be presented in a volume
2257 # as files using the keys in the Data field as the file names.
2258 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2259 # Secret will be projected into the volume as a file whose name is the
2260 # key and content is the value. If specified, the listed keys will be
2261 # projected into the specified paths, and unlisted keys will not be
2262 # present. If a key is specified which is not present in the Secret,
2263 # the volume setup will error unless it is marked optional.
2264 { # Maps a string key to a path within a volume.
2265 "path": "A String", # The relative path of the file to map the key to.
2266 # May not be an absolute path.
2267 # May not contain the path element '..'.
2268 # May not start with the string '..'.
2269 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2270 # specified, the volume defaultMode will be used. This might be in conflict
2271 # with other options that affect the file mode, like fsGroup, and the result
2272 # can be other mode bits set. +optional
2273 "key": "A String", # The key to project.
2274 },
2275 ],
2276 "optional": True or False, # Specify whether the Secret or its keys must be defined.
2277 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2278 # 0777. Defaults to 0644. Directories within the path are not affected by
2279 # this setting. This might be in conflict with other options that affect the
2280 # file mode, like fsGroup, and the result can be other mode bits set.
2281 "secretName": "A String", # Name of the secret in the container's namespace to use.
2282 },
2283 "name": "A String", # Volume's name.
2284 },
2285 ],
2286 "containers": [ # Containers holds the single container that defines the unit of execution
2287 # for this Revision. In the context of a Revision, we disallow a number of
2288 # fields on this Container, including: name and lifecycle.
2289 { # A single application container.
2290 # This specifies both the container to run, the command to run in the container
2291 # and the arguments to supply to it.
2292 # Note that additional arguments may be supplied by the system to the container
2293 # at runtime.
2294 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
2295 # 'stdin' to be true. Default is false. +optional
2296 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
2297 # runtime. If this is not set, reads from stdin in the container will always
2298 # result in EOF. Default is false. +optional
2299 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
2300 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
2301 # More info:
2302 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2303 # +optional
2304 # container. Some fields are present in both SecurityContext and
2305 # PodSecurityContext. When both are set, the values in SecurityContext take
2306 # precedence.
2307 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
2308 # Default is false.
2309 # +optional
2310 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
2311 # Uses runtime default if unset.
2312 # May also be set in PodSecurityContext. If set in both SecurityContext and
2313 # PodSecurityContext, the value specified in SecurityContext takes
2314 # precedence. +optional
2315 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
2316 # Defaults to user specified in image metadata if unspecified.
2317 # May also be set in PodSecurityContext. If set in both SecurityContext and
2318 # PodSecurityContext, the value specified in SecurityContext takes
2319 # precedence. +optional
2320 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
2321 # privileges than its parent process. This bool directly controls if
2322 # the no_new_privs flag will be set on the container process.
2323 # AllowPrivilegeEscalation is true always when the container is:
2324 # 1) run as Privileged
2325 # 2) has CAP_SYS_ADMIN
2326 # +optional
2327 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
2328 # Defaults to the default set of capabilities granted by the container
2329 # runtime. +optional
2330 "add": [ # Added capabilities
2331 # +optional
2332 "A String",
2333 ],
2334 "drop": [ # Removed capabilities
2335 # +optional
2336 "A String",
2337 ],
2338 },
2339 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
2340 # If true, the Kubelet will validate the image at runtime to ensure that it
2341 # does not run as UID 0 (root) and fail to start the container if it does.
2342 # If unset or false, no such validation will be performed.
2343 # May also be set in PodSecurityContext. If set in both SecurityContext and
2344 # PodSecurityContext, the value specified in SecurityContext takes
2345 # precedence. +optional
2346 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
2347 # If unspecified, the container runtime will allocate a random SELinux
2348 # context for each container. May also be set in PodSecurityContext. If set
2349 # in both SecurityContext and PodSecurityContext, the value specified in
2350 # SecurityContext takes precedence. +optional
2351 "role": "A String", # Role is a SELinux role label that applies to the container.
2352 # +optional
2353 "type": "A String", # Type is a SELinux type label that applies to the container.
2354 # +optional
2355 "user": "A String", # User is a SELinux user label that applies to the container.
2356 # +optional
2357 "level": "A String", # Level is SELinux level label that applies to the container.
2358 # +optional
2359 },
2360 "privileged": True or False, # Run container in privileged mode.
2361 # Processes in privileged containers are essentially equivalent to root on
2362 # the host. Defaults to false. +optional
2363 },
2364 "name": "A String", # Name of the container specified as a DNS_LABEL.
2365 # Each container must have a unique name (DNS_LABEL).
2366 # Cannot be updated.
2367 "envFrom": [ # List of sources to populate environment variables in the container.
2368 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
2369 # will be reported as an event when the container is starting. When a key
2370 # exists in multiple sources, the value associated with the last source will
2371 # take precedence. Values defined by an Env with a duplicate key will take
2372 # precedence. Cannot be updated. +optional
2373 { # EnvFromSource represents the source of a set of ConfigMaps
2374 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
2375 # +optional
2376 # variables with.
2377 #
2378 # The contents of the target Secret's Data field will represent the
2379 # key-value pairs as environment variables.
2380 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
2381 # referenced object inside the same namespace.
2382 "name": "A String", # Name of the referent.
2383 # More info:
2384 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2385 },
2386 "optional": True or False, # Specify whether the Secret must be defined
2387 # +optional
2388 },
2389 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2390 # +optional
2391 # variables with.
2392 #
2393 # The contents of the target ConfigMap's Data field will represent the
2394 # key-value pairs as environment variables.
2395 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
2396 # referenced object inside the same namespace.
2397 "name": "A String", # Name of the referent.
2398 # More info:
2399 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2400 },
2401 "optional": True or False, # Specify whether the ConfigMap must be defined
2402 # +optional
2403 },
2404 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
2405 # C_IDENTIFIER. +optional
2406 },
2407 ],
2408 "env": [ # List of environment variables to set in the container.
2409 # Cannot be updated.
2410 # +optional
2411 { # EnvVar represents an environment variable present in a Container.
2412 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
2413 "value": "A String", # Variable references $(VAR_NAME) are expanded
2414 # using the previous defined environment variables in the container and
2415 # any route environment variables. If a variable cannot be resolved,
2416 # the reference in the input string will be unchanged. The $(VAR_NAME)
2417 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
2418 # references will never be expanded, regardless of whether the variable
2419 # exists or not.
2420 # Defaults to "".
2421 # +optional
2422 },
2423 ],
2424 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
2425 # Cannot be updated.
2426 # +optional
2427 { # VolumeMount describes a mounting of a Volume within a container.
2428 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2429 # Defaults to false.
2430 # +optional
2431 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
2432 # to container and the other way around.
2433 # When not set, MountPropagationHostToContainer is used.
2434 # This field is beta in 1.10.
2435 # +optional
2436 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
2437 # Defaults to "" (volume's root).
2438 # +optional
2439 "name": "A String", # This must match the Name of a Volume.
2440 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
2441 # not contain ':'.
2442 },
2443 ],
2444 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
2445 # This is an alpha feature and may change in the future.
2446 # +optional
2447 { # volumeDevice describes a mapping of a raw block device within a container.
2448 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
2449 # mapped to.
2450 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
2451 },
2452 ],
2453 "args": [ # Arguments to the entrypoint.
2454 # The docker image's CMD is used if this is not provided.
2455 # Variable references $(VAR_NAME) are expanded using the container's
2456 # environment. If a variable cannot be resolved, the reference in the input
2457 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2458 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2459 # regardless of whether the variable exists or not.
2460 # Cannot be updated.
2461 # More info:
2462 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2463 # +optional
2464 "A String",
2465 ],
2466 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
2467 # been opened by a single attach. When stdin is true the stdin stream will
2468 # remain open across multiple attach sessions. If stdinOnce is set to true,
2469 # stdin is opened on container start, is empty until the first client
2470 # attaches to stdin, and then remains open and accepts data until the client
2471 # disconnects, at which time stdin is closed and remains closed until the
2472 # container is restarted. If this flag is false, a container processes that
2473 # reads from stdin will never receive an EOF. Default is false +optional
2474 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
2475 # contents of terminationMessagePath to populate the container status message
2476 # on both success and failure. FallbackToLogsOnError will use the last chunk
2477 # of container log output if the termination message file is empty and the
2478 # container exited with an error. The log output is limited to 2048 bytes or
2479 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2480 # +optional
2481 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
2482 # lifecycle events. Cannot be updated. +optional
2483 # response to container lifecycle events. For the PostStart and PreStop
2484 # lifecycle handlers, management of the container blocks until the action is
2485 # complete, unless the container process fails, in which case the handler is
2486 # aborted.
2487 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
2488 # The container is terminated after the handler completes.
2489 # The reason for termination is passed to the handler.
2490 # Regardless of the outcome of the handler, the container is eventually
2491 # terminated. Other management of the container blocks until the hook
2492 # completes. More info:
2493 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2494 # +optional
2495 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2496 # TCP hooks not yet supported
2497 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2498 # +optional
2499 "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.
2500 # Number must be in the range 1 to 65535.
2501 # Name must be an IANA_SVC_NAME.
2502 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2503 # inner type. This allows you to have, for example, a JSON field that can
2504 # accept a name or number.
2505 "strVal": "A String", # The string value.
2506 "type": "A String", # The type of the value.
2507 "intVal": 42, # The int value.
2508 },
2509 },
2510 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2511 # +optional
2512 "path": "A String", # Path to access on the HTTP server.
2513 # +optional
2514 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2515 # "Host" in httpHeaders instead.
2516 # +optional
2517 "scheme": "A String", # Scheme to use for connecting to the host.
2518 # Defaults to HTTP.
2519 # +optional
2520 "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.
2521 # Number must be in the range 1 to 65535.
2522 # Name must be an IANA_SVC_NAME.
2523 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2524 # inner type. This allows you to have, for example, a JSON field that can
2525 # accept a name or number.
2526 "strVal": "A String", # The string value.
2527 "type": "A String", # The type of the value.
2528 "intVal": 42, # The int value.
2529 },
2530 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2531 # +optional
2532 { # HTTPHeader describes a custom header to be used in HTTP probes
2533 "name": "A String", # The header field name
2534 "value": "A String", # The header field value
2535 },
2536 ],
2537 },
2538 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2539 # Exec specifies the action to take.
2540 # +optional
2541 "command": "A String", # Command is the command line to execute inside the container, the working
2542 # directory for the command is root ('/') in the container's filesystem. The
2543 # command is simply exec'd, it is not run inside a shell, so traditional
2544 # shell instructions ('|', etc) won't work. To use a shell, you need to
2545 # explicitly call out to that shell. Exit status of 0 is treated as
2546 # live/healthy and non-zero is unhealthy. +optional
2547 },
2548 },
2549 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
2550 # handler fails, the container is terminated and restarted according to its
2551 # restart policy. Other management of the container blocks until the hook
2552 # completes. More info:
2553 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2554 # +optional
2555 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2556 # TCP hooks not yet supported
2557 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2558 # +optional
2559 "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.
2560 # Number must be in the range 1 to 65535.
2561 # Name must be an IANA_SVC_NAME.
2562 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2563 # inner type. This allows you to have, for example, a JSON field that can
2564 # accept a name or number.
2565 "strVal": "A String", # The string value.
2566 "type": "A String", # The type of the value.
2567 "intVal": 42, # The int value.
2568 },
2569 },
2570 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2571 # +optional
2572 "path": "A String", # Path to access on the HTTP server.
2573 # +optional
2574 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2575 # "Host" in httpHeaders instead.
2576 # +optional
2577 "scheme": "A String", # Scheme to use for connecting to the host.
2578 # Defaults to HTTP.
2579 # +optional
2580 "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.
2581 # Number must be in the range 1 to 65535.
2582 # Name must be an IANA_SVC_NAME.
2583 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2584 # inner type. This allows you to have, for example, a JSON field that can
2585 # accept a name or number.
2586 "strVal": "A String", # The string value.
2587 "type": "A String", # The type of the value.
2588 "intVal": 42, # The int value.
2589 },
2590 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2591 # +optional
2592 { # HTTPHeader describes a custom header to be used in HTTP probes
2593 "name": "A String", # The header field name
2594 "value": "A String", # The header field value
2595 },
2596 ],
2597 },
2598 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2599 # Exec specifies the action to take.
2600 # +optional
2601 "command": "A String", # Command is the command line to execute inside the container, the working
2602 # directory for the command is root ('/') in the container's filesystem. The
2603 # command is simply exec'd, it is not run inside a shell, so traditional
2604 # shell instructions ('|', etc) won't work. To use a shell, you need to
2605 # explicitly call out to that shell. Exit status of 0 is treated as
2606 # live/healthy and non-zero is unhealthy. +optional
2607 },
2608 },
2609 },
2610 "command": [ # Entrypoint array. Not executed within a shell.
2611 # The docker image's ENTRYPOINT is used if this is not provided.
2612 # Variable references $(VAR_NAME) are expanded using the container's
2613 # environment. If a variable cannot be resolved, the reference in the input
2614 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2615 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2616 # regardless of whether the variable exists or not.
2617 # Cannot be updated.
2618 # More info:
2619 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2620 # +optional
2621 "A String",
2622 ],
2623 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
2624 # Container will be restarted if the probe fails.
2625 # Cannot be updated.
2626 # More info:
2627 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2628 # +optional
2629 # determine whether it is alive or ready to receive traffic.
2630 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2631 # Defaults to 1 second. Minimum value is 1.
2632 # More info:
2633 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2634 # +optional
2635 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2636 # are initiated. More info:
2637 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2638 # +optional
2639 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2640 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2641 # TCP hooks not yet supported
2642 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2643 # +optional
2644 "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.
2645 # Number must be in the range 1 to 65535.
2646 # Name must be an IANA_SVC_NAME.
2647 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2648 # inner type. This allows you to have, for example, a JSON field that can
2649 # accept a name or number.
2650 "strVal": "A String", # The string value.
2651 "type": "A String", # The type of the value.
2652 "intVal": 42, # The int value.
2653 },
2654 },
2655 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2656 # +optional
2657 "path": "A String", # Path to access on the HTTP server.
2658 # +optional
2659 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2660 # "Host" in httpHeaders instead.
2661 # +optional
2662 "scheme": "A String", # Scheme to use for connecting to the host.
2663 # Defaults to HTTP.
2664 # +optional
2665 "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.
2666 # Number must be in the range 1 to 65535.
2667 # Name must be an IANA_SVC_NAME.
2668 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2669 # inner type. This allows you to have, for example, a JSON field that can
2670 # accept a name or number.
2671 "strVal": "A String", # The string value.
2672 "type": "A String", # The type of the value.
2673 "intVal": 42, # The int value.
2674 },
2675 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2676 # +optional
2677 { # HTTPHeader describes a custom header to be used in HTTP probes
2678 "name": "A String", # The header field name
2679 "value": "A String", # The header field value
2680 },
2681 ],
2682 },
2683 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2684 # Exec specifies the action to take.
2685 # +optional
2686 "command": "A String", # Command is the command line to execute inside the container, the working
2687 # directory for the command is root ('/') in the container's filesystem. The
2688 # command is simply exec'd, it is not run inside a shell, so traditional
2689 # shell instructions ('|', etc) won't work. To use a shell, you need to
2690 # explicitly call out to that shell. Exit status of 0 is treated as
2691 # live/healthy and non-zero is unhealthy. +optional
2692 },
2693 },
2694 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2695 # Default to 10 seconds. Minimum value is 1.
2696 # +optional
2697 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2698 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2699 # is 1. +optional
2700 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2701 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2702 },
2703 "image": "A String", # Docker image name.
2704 # More info: https://kubernetes.io/docs/concepts/containers/images
2705 "imagePullPolicy": "A String", # Image pull policy.
2706 # One of Always, Never, IfNotPresent.
2707 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2708 # Cannot be updated.
2709 # More info:
2710 # https://kubernetes.io/docs/concepts/containers/images#updating-images
2711 # +optional
2712 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2713 # Container will be removed from service endpoints if the probe fails.
2714 # Cannot be updated.
2715 # More info:
2716 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2717 # +optional
2718 # determine whether it is alive or ready to receive traffic.
2719 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2720 # Defaults to 1 second. Minimum value is 1.
2721 # More info:
2722 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2723 # +optional
2724 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2725 # are initiated. More info:
2726 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2727 # +optional
2728 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2729 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2730 # TCP hooks not yet supported
2731 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2732 # +optional
2733 "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.
2734 # Number must be in the range 1 to 65535.
2735 # Name must be an IANA_SVC_NAME.
2736 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2737 # inner type. This allows you to have, for example, a JSON field that can
2738 # accept a name or number.
2739 "strVal": "A String", # The string value.
2740 "type": "A String", # The type of the value.
2741 "intVal": 42, # The int value.
2742 },
2743 },
2744 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2745 # +optional
2746 "path": "A String", # Path to access on the HTTP server.
2747 # +optional
2748 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2749 # "Host" in httpHeaders instead.
2750 # +optional
2751 "scheme": "A String", # Scheme to use for connecting to the host.
2752 # Defaults to HTTP.
2753 # +optional
2754 "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.
2755 # Number must be in the range 1 to 65535.
2756 # Name must be an IANA_SVC_NAME.
2757 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2758 # inner type. This allows you to have, for example, a JSON field that can
2759 # accept a name or number.
2760 "strVal": "A String", # The string value.
2761 "type": "A String", # The type of the value.
2762 "intVal": 42, # The int value.
2763 },
2764 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2765 # +optional
2766 { # HTTPHeader describes a custom header to be used in HTTP probes
2767 "name": "A String", # The header field name
2768 "value": "A String", # The header field value
2769 },
2770 ],
2771 },
2772 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2773 # Exec specifies the action to take.
2774 # +optional
2775 "command": "A String", # Command is the command line to execute inside the container, the working
2776 # directory for the command is root ('/') in the container's filesystem. The
2777 # command is simply exec'd, it is not run inside a shell, so traditional
2778 # shell instructions ('|', etc) won't work. To use a shell, you need to
2779 # explicitly call out to that shell. Exit status of 0 is treated as
2780 # live/healthy and non-zero is unhealthy. +optional
2781 },
2782 },
2783 "periodSeconds": 42, # How often (in seconds) to perform the probe.
2784 # Default to 10 seconds. Minimum value is 1.
2785 # +optional
2786 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2787 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2788 # is 1. +optional
2789 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2790 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2791 },
2792 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
2793 # message will be written is mounted into the container's filesystem. Message
2794 # written is intended to be brief final status, such as an assertion failure
2795 # message. Will be truncated by the node if greater than 4096 bytes. The
2796 # total message length across all containers will be limited to 12kb.
2797 # Defaults to /dev/termination-log.
2798 # Cannot be updated.
2799 # +optional
2800 "ports": [ # List of ports to expose from the container. Exposing a port here gives
2801 # the system additional information about the network connections a
2802 # container uses, but is primarily informational. Not specifying a port here
2803 # DOES NOT prevent that port from being exposed. Any port which is
2804 # listening on the default "0.0.0.0" address inside a container will be
2805 # accessible from the network.
2806 # Cannot be updated.
2807 # +optional
2808 { # ContainerPort represents a network port in a single container.
2809 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2810 # Defaults to "TCP".
2811 # +optional
2812 "hostIP": "A String", # What host IP to bind the external port to.
2813 # +optional
2814 "containerPort": 42, # Number of port to expose on the pod's IP address.
2815 # This must be a valid port number, 0 < x < 65536.
2816 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2817 # named port in a pod must have a unique name. Name for the port that can be
2818 # referred to by services.
2819 # +optional
2820 "hostPort": 42, # Number of port to expose on the host.
2821 # If specified, this must be a valid port number, 0 < x < 65536.
2822 # If HostNetwork is specified, this must match ContainerPort.
2823 # Most containers do not need this.
2824 # +optional
2825 },
2826 ],
2827 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
2828 # Cannot be updated.
2829 # More info:
2830 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2831 # +optional
2832 "requests": { # Requests describes the minimum amount of compute resources required.
2833 # If Requests is omitted for a container, it defaults to Limits if that is
2834 # explicitly specified, otherwise to an implementation-defined value.
2835 # The values of the map is string form of the 'quantity' k8s type:
2836 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2837 "a_key": "A String",
2838 },
2839 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
2840 # If Requests is omitted for a container, it defaults to Limits if that is
2841 # explicitly specified, otherwise to an implementation-defined value.
2842 # This is a temporary field created to migrate away from the
2843 # map<string, Quantity> requests field. This is done to become compliant
2844 # with k8s style API.
2845 # This field is deprecated in favor of requests field.
2846 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2847 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2848 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2849 },
2850 },
2851 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
2852 # This is a temporary field created to migrate away from the
2853 # map<string, Quantity> limits field. This is done to become compliant
2854 # with k8s style API.
2855 # This field is deprecated in favor of limits field.
2856 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2857 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2858 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2859 },
2860 },
2861 "limits": { # Limits describes the maximum amount of compute resources allowed.
2862 # The values of the map is string form of the 'quantity' k8s type:
2863 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2864 "a_key": "A String",
2865 },
2866 },
2867 "workingDir": "A String", # Container's working directory.
2868 # If not specified, the container runtime's default will be used, which
2869 # might be configured in the container image.
2870 # Cannot be updated.
2871 # +optional
2872 },
2873 ],
2874 },
2875 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
2876 # will be generated by the Configuration.
2877 # all objects users must create.
2878 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
2879 # been deleted, this object will be garbage collected.
2880 # +optional
2881 { # OwnerReference contains enough information to let you identify an owning
2882 # object. Currently, an owning object must be in the same namespace, so there
2883 # is no namespace field.
2884 "kind": "A String", # Kind of the referent.
2885 # More info:
2886 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
2887 "uid": "A String", # UID of the referent.
2888 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
2889 "apiVersion": "A String", # API version of the referent.
2890 "controller": True or False, # If true, this reference points to the managing controller.
2891 # +optional
2892 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
2893 # the owner cannot be deleted from the key-value store until this
2894 # reference is removed.
2895 # Defaults to false.
2896 # To set this field, a user needs "delete" permission of the owner,
2897 # otherwise 422 (Unprocessable Entity) will be returned.
2898 # +optional
2899 "name": "A String", # Name of the referent.
2900 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
2901 },
2902 ],
2903 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
2904 # Is required when creating
2905 # resources, although some resources may allow a client to request the
2906 # generation of an appropriate name automatically. Name is primarily intended
2907 # for creation idempotence and configuration definition. Cannot be updated.
2908 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
2909 # +optional
2910 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
2911 # deleted. This field is set by the server when a graceful deletion is
2912 # requested by the user, and is not directly settable by a client. The
2913 # resource is expected to be deleted (no longer visible from resource lists,
2914 # and not reachable by name) after the time in this field, once the
2915 # finalizers list is empty. As long as the finalizers list contains items,
2916 # deletion is blocked. Once the deletionTimestamp is set, this value may not
2917 # be unset or be set further into the future, although it may be shortened or
2918 # the resource may be deleted prior to this time. For example, a user may
2919 # request that a pod is deleted in 30 seconds. The Kubelet will react by
2920 # sending a graceful termination signal to the containers in the pod. After
2921 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
2922 # to the container and after cleanup, remove the pod from the API. In the
2923 # presence of network partitions, this object may still exist after this
2924 # timestamp, until an administrator or automated process can determine the
2925 # resource is fully terminated.
2926 # If not set, graceful deletion of the object has not been requested.
2927 #
2928 # Populated by the system when a graceful deletion is requested.
2929 # Read-only.
2930 # More info:
2931 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
2932 # +optional
2933 "clusterName": "A String", # Not currently supported by Cloud Run.
2934 #
2935 # The name of the cluster which the object belongs to.
2936 # This is used to distinguish resources with same name and namespace in
2937 # different clusters. This field is not set anywhere right now and apiserver
2938 # is going to ignore it if set in create or update request. +optional
2939 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
2940 #
2941 # Number of seconds allowed for this object to gracefully terminate before
2942 # it will be removed from the system. Only set when deletionTimestamp is also
2943 # set. May only be shortened. Read-only. +optional
2944 "labels": { # Map of string keys and values that can be used to organize and categorize
2945 # (scope and select) objects. May match selectors of replication controllers
2946 # and routes.
2947 # More info: http://kubernetes.io/docs/user-guide/labels
2948 # +optional
2949 "a_key": "A String",
2950 },
2951 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
2952 # Cloud Run region. In Cloud Run the namespace must be equal to either the
2953 # project ID or project number.
2954 "generation": 42, # A sequence number representing a specific generation of the desired state.
2955 # Populated by the system. Read-only.
2956 # +optional
2957 "finalizers": [ # Not currently supported by Cloud Run.
2958 #
2959 # Must be empty before the object is deleted from the registry. Each entry
2960 # is an identifier for the responsible component that will remove the entry
2961 # from the list. If the deletionTimestamp of the object is non-nil, entries
2962 # in this list can only be removed.
2963 # +optional
2964 # +patchStrategy=merge
2965 "A String",
2966 ],
2967 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
2968 #
2969 # An initializer is a controller which enforces some system invariant at
2970 # object creation time. This field is a list of initializers that have not
2971 # yet acted on this object. If nil or empty, this object has been completely
2972 # initialized. Otherwise, the object is considered uninitialized and is
2973 # hidden (in list/watch and get calls) from clients that haven't explicitly
2974 # asked to observe uninitialized objects.
2975 #
2976 # When an object is created, the system will populate this list with the
2977 # current set of initializers. Only privileged users may set or modify this
2978 # list. Once it is empty, it may not be modified further by any user.
2979 "pending": [ # Pending is a list of initializers that must execute in order before this
2980 # object is visible. When the last pending initializer is removed, and no
2981 # failing result is set, the initializers struct will be set to nil and the
2982 # object is considered as initialized and visible to all clients.
2983 # +patchMergeKey=name
2984 # +patchStrategy=merge
2985 { # Initializer is information about an initializer that has not yet completed.
2986 "name": "A String", # name of the process that is responsible for initializing this object.
2987 },
2988 ],
2989 },
2990 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
2991 # can be used by clients to determine when objects have changed. May be used
2992 # for optimistic concurrency, change detection, and the watch operation on a
2993 # resource or set of resources. Clients must treat these values as opaque and
2994 # passed unmodified back to the server. They may only be valid for a
2995 # particular resource or set of resources.
2996 #
2997 # Populated by the system.
2998 # Read-only.
2999 # Value must be treated as opaque by clients and .
3000 # More info:
3001 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3002 # +optional
3003 "generateName": "A String", # Not currently supported by Cloud Run.
3004 #
3005 # GenerateName is an optional prefix, used by the server, to generate a
3006 # unique name ONLY IF the Name field has not been provided. If this field is
3007 # used, the name returned to the client will be different than the name
3008 # passed. This value will also be combined with a unique suffix. The provided
3009 # value has the same validation rules as the Name field, and may be truncated
3010 # by the length of the suffix required to make the value unique on the
3011 # server.
3012 #
3013 # If this field is specified and the generated name exists, the server will
3014 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3015 # Reason ServerTimeout indicating a unique name could not be found in the
3016 # time allotted, and the client should retry (optionally after the time
3017 # indicated in the Retry-After header).
3018 #
3019 # Applied only if Name is not specified.
3020 # More info:
3021 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3022 # +optional
3023 # string generateName = 2;
3024 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
3025 # object was created. It is not guaranteed to be set in happens-before order
3026 # across separate operations. Clients may not set this value. It is
3027 # represented in RFC3339 form and is in UTC.
3028 #
3029 # Populated by the system.
3030 # Read-only.
3031 # Null for lists.
3032 # More info:
3033 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3034 # +optional
3035 "annotations": { # Annotations is an unstructured key value map stored with a resource that
3036 # may be set by external tools to store and retrieve arbitrary metadata. They
3037 # are not queryable and should be preserved when modifying objects. More
3038 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3039 "a_key": "A String",
3040 },
3041 "selfLink": "A String", # SelfLink is a URL representing this object.
3042 # Populated by the system.
3043 # Read-only.
3044 # +optional
3045 # string selfLink = 4;
3046 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
3047 # generated by the server on successful creation of a resource and is not
3048 # allowed to change on PUT operations.
3049 #
3050 # Populated by the system.
3051 # Read-only.
3052 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3053 # +optional
3054 },
3055 },
3056 },
3057 "apiVersion": "A String", # The API version for this call such as "v1alpha1".
3058 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
3059 # labels, and annotations.
3060 # all objects users must create.
3061 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
3062 # been deleted, this object will be garbage collected.
3063 # +optional
3064 { # OwnerReference contains enough information to let you identify an owning
3065 # object. Currently, an owning object must be in the same namespace, so there
3066 # is no namespace field.
3067 "kind": "A String", # Kind of the referent.
3068 # More info:
3069 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
3070 "uid": "A String", # UID of the referent.
3071 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3072 "apiVersion": "A String", # API version of the referent.
3073 "controller": True or False, # If true, this reference points to the managing controller.
3074 # +optional
3075 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
3076 # the owner cannot be deleted from the key-value store until this
3077 # reference is removed.
3078 # Defaults to false.
3079 # To set this field, a user needs "delete" permission of the owner,
3080 # otherwise 422 (Unprocessable Entity) will be returned.
3081 # +optional
3082 "name": "A String", # Name of the referent.
3083 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3084 },
3085 ],
3086 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
3087 # Is required when creating
3088 # resources, although some resources may allow a client to request the
3089 # generation of an appropriate name automatically. Name is primarily intended
3090 # for creation idempotence and configuration definition. Cannot be updated.
3091 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3092 # +optional
3093 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
3094 # deleted. This field is set by the server when a graceful deletion is
3095 # requested by the user, and is not directly settable by a client. The
3096 # resource is expected to be deleted (no longer visible from resource lists,
3097 # and not reachable by name) after the time in this field, once the
3098 # finalizers list is empty. As long as the finalizers list contains items,
3099 # deletion is blocked. Once the deletionTimestamp is set, this value may not
3100 # be unset or be set further into the future, although it may be shortened or
3101 # the resource may be deleted prior to this time. For example, a user may
3102 # request that a pod is deleted in 30 seconds. The Kubelet will react by
3103 # sending a graceful termination signal to the containers in the pod. After
3104 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3105 # to the container and after cleanup, remove the pod from the API. In the
3106 # presence of network partitions, this object may still exist after this
3107 # timestamp, until an administrator or automated process can determine the
3108 # resource is fully terminated.
3109 # If not set, graceful deletion of the object has not been requested.
3110 #
3111 # Populated by the system when a graceful deletion is requested.
3112 # Read-only.
3113 # More info:
3114 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3115 # +optional
3116 "clusterName": "A String", # Not currently supported by Cloud Run.
3117 #
3118 # The name of the cluster which the object belongs to.
3119 # This is used to distinguish resources with same name and namespace in
3120 # different clusters. This field is not set anywhere right now and apiserver
3121 # is going to ignore it if set in create or update request. +optional
3122 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
3123 #
3124 # Number of seconds allowed for this object to gracefully terminate before
3125 # it will be removed from the system. Only set when deletionTimestamp is also
3126 # set. May only be shortened. Read-only. +optional
3127 "labels": { # Map of string keys and values that can be used to organize and categorize
3128 # (scope and select) objects. May match selectors of replication controllers
3129 # and routes.
3130 # More info: http://kubernetes.io/docs/user-guide/labels
3131 # +optional
3132 "a_key": "A String",
3133 },
3134 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
3135 # Cloud Run region. In Cloud Run the namespace must be equal to either the
3136 # project ID or project number.
3137 "generation": 42, # A sequence number representing a specific generation of the desired state.
3138 # Populated by the system. Read-only.
3139 # +optional
3140 "finalizers": [ # Not currently supported by Cloud Run.
3141 #
3142 # Must be empty before the object is deleted from the registry. Each entry
3143 # is an identifier for the responsible component that will remove the entry
3144 # from the list. If the deletionTimestamp of the object is non-nil, entries
3145 # in this list can only be removed.
3146 # +optional
3147 # +patchStrategy=merge
3148 "A String",
3149 ],
3150 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
3151 #
3152 # An initializer is a controller which enforces some system invariant at
3153 # object creation time. This field is a list of initializers that have not
3154 # yet acted on this object. If nil or empty, this object has been completely
3155 # initialized. Otherwise, the object is considered uninitialized and is
3156 # hidden (in list/watch and get calls) from clients that haven't explicitly
3157 # asked to observe uninitialized objects.
3158 #
3159 # When an object is created, the system will populate this list with the
3160 # current set of initializers. Only privileged users may set or modify this
3161 # list. Once it is empty, it may not be modified further by any user.
3162 "pending": [ # Pending is a list of initializers that must execute in order before this
3163 # object is visible. When the last pending initializer is removed, and no
3164 # failing result is set, the initializers struct will be set to nil and the
3165 # object is considered as initialized and visible to all clients.
3166 # +patchMergeKey=name
3167 # +patchStrategy=merge
3168 { # Initializer is information about an initializer that has not yet completed.
3169 "name": "A String", # name of the process that is responsible for initializing this object.
3170 },
3171 ],
3172 },
3173 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
3174 # can be used by clients to determine when objects have changed. May be used
3175 # for optimistic concurrency, change detection, and the watch operation on a
3176 # resource or set of resources. Clients must treat these values as opaque and
3177 # passed unmodified back to the server. They may only be valid for a
3178 # particular resource or set of resources.
3179 #
3180 # Populated by the system.
3181 # Read-only.
3182 # Value must be treated as opaque by clients and .
3183 # More info:
3184 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3185 # +optional
3186 "generateName": "A String", # Not currently supported by Cloud Run.
3187 #
3188 # GenerateName is an optional prefix, used by the server, to generate a
3189 # unique name ONLY IF the Name field has not been provided. If this field is
3190 # used, the name returned to the client will be different than the name
3191 # passed. This value will also be combined with a unique suffix. The provided
3192 # value has the same validation rules as the Name field, and may be truncated
3193 # by the length of the suffix required to make the value unique on the
3194 # server.
3195 #
3196 # If this field is specified and the generated name exists, the server will
3197 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3198 # Reason ServerTimeout indicating a unique name could not be found in the
3199 # time allotted, and the client should retry (optionally after the time
3200 # indicated in the Retry-After header).
3201 #
3202 # Applied only if Name is not specified.
3203 # More info:
3204 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3205 # +optional
3206 # string generateName = 2;
3207 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
3208 # object was created. It is not guaranteed to be set in happens-before order
3209 # across separate operations. Clients may not set this value. It is
3210 # represented in RFC3339 form and is in UTC.
3211 #
3212 # Populated by the system.
3213 # Read-only.
3214 # Null for lists.
3215 # More info:
3216 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3217 # +optional
3218 "annotations": { # Annotations is an unstructured key value map stored with a resource that
3219 # may be set by external tools to store and retrieve arbitrary metadata. They
3220 # are not queryable and should be preserved when modifying objects. More
3221 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3222 "a_key": "A String",
3223 },
3224 "selfLink": "A String", # SelfLink is a URL representing this object.
3225 # Populated by the system.
3226 # Read-only.
3227 # +optional
3228 # string selfLink = 4;
3229 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
3230 # generated by the server on successful creation of a resource and is not
3231 # allowed to change on PUT operations.
3232 #
3233 # Populated by the system.
3234 # Read-only.
3235 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3236 # +optional
3237 },
3238 }</pre>
3239</div>
3240
3241<div class="method">
3242 <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>
3243 <pre>Rpc to list configurations.
3244
3245Args:
3246 parent: string, The project ID or project number from which the configurations should be
3247listed. (required)
3248 labelSelector: string, Allows to filter resources based on a label. Supported operations are
3249=, !=, exists, in, and notIn.
3250 includeUninitialized: boolean, Not currently used by Cloud Run.
3251 x__xgafv: string, V1 error format.
3252 Allowed values
3253 1 - v1 error format
3254 2 - v2 error format
3255 resourceVersion: string, The baseline resource version from which the list or watch operation should
3256start. Not currently used by Cloud Run.
3257 limit: integer, The maximum number of records that should be returned.
3258 watch: boolean, Flag that indicates that the client expects to watch this resource as well.
3259Not currently used by Cloud Run.
3260 continue: string, Optional encoded string to continue paging.
3261 fieldSelector: string, Allows to filter resources based on a specific value for a field name.
3262Send this in a query string format. i.e. 'metadata.name%3Dlorem'.
3263Not currently used by Cloud Run.
3264
3265Returns:
3266 An object of the form:
3267
3268 { # ListConfigurationsResponse is a list of Configuration resources.
3269 "unreachable": [ # Locations that could not be reached.
3270 "A String",
3271 ],
3272 "kind": "A String", # The kind of this resource, in this case "ConfigurationList".
3273 "items": [ # List of Configurations.
3274 { # Configuration represents the "floating HEAD" of a linear history of
3275 # Revisions, and optionally how the containers those revisions reference are
3276 # built. Users create new Revisions by updating the Configuration's spec. The
3277 # "latest created" revision's name is available under status, as is the "latest
3278 # ready" revision's name. See also:
3279 # https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
3280 "status": { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
3281 # controller).
3282 # (from the controller).
3283 "latestCreatedRevisionName": "A String", # LatestCreatedRevisionName is the last revision that was created from this
3284 # Configuration. It might not be ready yet, for that use
3285 # LatestReadyRevisionName.
3286 "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Configuration that
3287 # was last processed by the controller. The observed generation is updated
3288 # even if the controller failed to process the spec and create the Revision.
3289 #
3290 # Clients polling for completed reconciliation should poll until
3291 # observedGeneration = metadata.generation, and the Ready condition's status
3292 # is True or False.
3293 "conditions": [ # Conditions communicates information about ongoing/complete
3294 # reconciliation processes that bring the "spec" inline with the observed
3295 # state of the world.
3296 { # ConfigurationCondition defines a readiness condition for a Configuration.
3297 "status": "A String", # Status of the condition, one of True, False, Unknown.
3298 "severity": "A String", # How to interpret failures of this condition, one of Error, Warning, Info
3299 # +optional
3300 "lastTransitionTime": "A String", # Last time the condition transitioned from one status to another.
3301 # +optional
3302 "reason": "A String", # One-word CamelCase reason for the condition's last transition.
3303 # +optional
3304 "message": "A String", # Human-readable message indicating details about last transition.
3305 # +optional
3306 "type": "A String", # ConfigurationConditionType is used to communicate the status of the
3307 # reconciliation process. See also:
3308 # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
3309 # Types include:"Ready"
3310 },
3311 ],
3312 "latestReadyRevisionName": "A String", # LatestReadyRevisionName holds the name of the latest Revision stamped out
3313 # from this Configuration that has had its "Ready" condition become "True".
3314 },
3315 "kind": "A String", # The kind of resource, in this case always "Configuration".
3316 "spec": { # ConfigurationSpec holds the desired state of the Configuration (from the # Spec holds the desired state of the Configuration (from the client).
3317 # client).
3318 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
3319 # metadata.generation instead, which is the sequence number containing the
3320 # latest generation of the desired state.
3321 #
3322 # Read-only.
3323 "revisionTemplate": { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
3324 # be stamped out. The template references the container image, and may also
3325 # include labels and annotations that should be attached to the Revision.
3326 # To correlate a Revision, and/or to force a Revision to be created when the
3327 # spec doesn't otherwise change, a nonce label may be provided in the
3328 # template metadata. For more details, see:
3329 # https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions
3330 #
3331 # Cloud Run does not currently support referencing a build that is
3332 # responsible for materializing the container image from source.
3333 # from a template. Based on:
3334 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
3335 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
3336 "container": { # A single application container. # Container defines the unit of execution for this Revision.
3337 # In the context of a Revision, we disallow a number of the fields of
3338 # this Container, including: name, ports, and volumeMounts.
3339 # The runtime contract is documented here:
3340 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
3341 # This specifies both the container to run, the command to run in the container
3342 # and the arguments to supply to it.
3343 # Note that additional arguments may be supplied by the system to the container
3344 # at runtime.
3345 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
3346 # 'stdin' to be true. Default is false. +optional
3347 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
3348 # runtime. If this is not set, reads from stdin in the container will always
3349 # result in EOF. Default is false. +optional
3350 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
3351 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
3352 # More info:
3353 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
3354 # +optional
3355 # container. Some fields are present in both SecurityContext and
3356 # PodSecurityContext. When both are set, the values in SecurityContext take
3357 # precedence.
3358 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
3359 # Default is false.
3360 # +optional
3361 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
3362 # Uses runtime default if unset.
3363 # May also be set in PodSecurityContext. If set in both SecurityContext and
3364 # PodSecurityContext, the value specified in SecurityContext takes
3365 # precedence. +optional
3366 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
3367 # Defaults to user specified in image metadata if unspecified.
3368 # May also be set in PodSecurityContext. If set in both SecurityContext and
3369 # PodSecurityContext, the value specified in SecurityContext takes
3370 # precedence. +optional
3371 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
3372 # privileges than its parent process. This bool directly controls if
3373 # the no_new_privs flag will be set on the container process.
3374 # AllowPrivilegeEscalation is true always when the container is:
3375 # 1) run as Privileged
3376 # 2) has CAP_SYS_ADMIN
3377 # +optional
3378 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
3379 # Defaults to the default set of capabilities granted by the container
3380 # runtime. +optional
3381 "add": [ # Added capabilities
3382 # +optional
3383 "A String",
3384 ],
3385 "drop": [ # Removed capabilities
3386 # +optional
3387 "A String",
3388 ],
3389 },
3390 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
3391 # If true, the Kubelet will validate the image at runtime to ensure that it
3392 # does not run as UID 0 (root) and fail to start the container if it does.
3393 # If unset or false, no such validation will be performed.
3394 # May also be set in PodSecurityContext. If set in both SecurityContext and
3395 # PodSecurityContext, the value specified in SecurityContext takes
3396 # precedence. +optional
3397 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
3398 # If unspecified, the container runtime will allocate a random SELinux
3399 # context for each container. May also be set in PodSecurityContext. If set
3400 # in both SecurityContext and PodSecurityContext, the value specified in
3401 # SecurityContext takes precedence. +optional
3402 "role": "A String", # Role is a SELinux role label that applies to the container.
3403 # +optional
3404 "type": "A String", # Type is a SELinux type label that applies to the container.
3405 # +optional
3406 "user": "A String", # User is a SELinux user label that applies to the container.
3407 # +optional
3408 "level": "A String", # Level is SELinux level label that applies to the container.
3409 # +optional
3410 },
3411 "privileged": True or False, # Run container in privileged mode.
3412 # Processes in privileged containers are essentially equivalent to root on
3413 # the host. Defaults to false. +optional
3414 },
3415 "name": "A String", # Name of the container specified as a DNS_LABEL.
3416 # Each container must have a unique name (DNS_LABEL).
3417 # Cannot be updated.
3418 "envFrom": [ # List of sources to populate environment variables in the container.
3419 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
3420 # will be reported as an event when the container is starting. When a key
3421 # exists in multiple sources, the value associated with the last source will
3422 # take precedence. Values defined by an Env with a duplicate key will take
3423 # precedence. Cannot be updated. +optional
3424 { # EnvFromSource represents the source of a set of ConfigMaps
3425 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
3426 # +optional
3427 # variables with.
3428 #
3429 # The contents of the target Secret's Data field will represent the
3430 # key-value pairs as environment variables.
3431 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
3432 # referenced object inside the same namespace.
3433 "name": "A String", # Name of the referent.
3434 # More info:
3435 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3436 },
3437 "optional": True or False, # Specify whether the Secret must be defined
3438 # +optional
3439 },
3440 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
3441 # +optional
3442 # variables with.
3443 #
3444 # The contents of the target ConfigMap's Data field will represent the
3445 # key-value pairs as environment variables.
3446 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
3447 # referenced object inside the same namespace.
3448 "name": "A String", # Name of the referent.
3449 # More info:
3450 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3451 },
3452 "optional": True or False, # Specify whether the ConfigMap must be defined
3453 # +optional
3454 },
3455 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
3456 # C_IDENTIFIER. +optional
3457 },
3458 ],
3459 "env": [ # List of environment variables to set in the container.
3460 # Cannot be updated.
3461 # +optional
3462 { # EnvVar represents an environment variable present in a Container.
3463 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
3464 "value": "A String", # Variable references $(VAR_NAME) are expanded
3465 # using the previous defined environment variables in the container and
3466 # any route environment variables. If a variable cannot be resolved,
3467 # the reference in the input string will be unchanged. The $(VAR_NAME)
3468 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
3469 # references will never be expanded, regardless of whether the variable
3470 # exists or not.
3471 # Defaults to "".
3472 # +optional
3473 },
3474 ],
3475 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
3476 # Cannot be updated.
3477 # +optional
3478 { # VolumeMount describes a mounting of a Volume within a container.
3479 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
3480 # Defaults to false.
3481 # +optional
3482 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
3483 # to container and the other way around.
3484 # When not set, MountPropagationHostToContainer is used.
3485 # This field is beta in 1.10.
3486 # +optional
3487 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
3488 # Defaults to "" (volume's root).
3489 # +optional
3490 "name": "A String", # This must match the Name of a Volume.
3491 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
3492 # not contain ':'.
3493 },
3494 ],
3495 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
3496 # This is an alpha feature and may change in the future.
3497 # +optional
3498 { # volumeDevice describes a mapping of a raw block device within a container.
3499 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
3500 # mapped to.
3501 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
3502 },
3503 ],
3504 "args": [ # Arguments to the entrypoint.
3505 # The docker image's CMD is used if this is not provided.
3506 # Variable references $(VAR_NAME) are expanded using the container's
3507 # environment. If a variable cannot be resolved, the reference in the input
3508 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
3509 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
3510 # regardless of whether the variable exists or not.
3511 # Cannot be updated.
3512 # More info:
3513 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
3514 # +optional
3515 "A String",
3516 ],
3517 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
3518 # been opened by a single attach. When stdin is true the stdin stream will
3519 # remain open across multiple attach sessions. If stdinOnce is set to true,
3520 # stdin is opened on container start, is empty until the first client
3521 # attaches to stdin, and then remains open and accepts data until the client
3522 # disconnects, at which time stdin is closed and remains closed until the
3523 # container is restarted. If this flag is false, a container processes that
3524 # reads from stdin will never receive an EOF. Default is false +optional
3525 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
3526 # contents of terminationMessagePath to populate the container status message
3527 # on both success and failure. FallbackToLogsOnError will use the last chunk
3528 # of container log output if the termination message file is empty and the
3529 # container exited with an error. The log output is limited to 2048 bytes or
3530 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
3531 # +optional
3532 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
3533 # lifecycle events. Cannot be updated. +optional
3534 # response to container lifecycle events. For the PostStart and PreStop
3535 # lifecycle handlers, management of the container blocks until the action is
3536 # complete, unless the container process fails, in which case the handler is
3537 # aborted.
3538 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
3539 # The container is terminated after the handler completes.
3540 # The reason for termination is passed to the handler.
3541 # Regardless of the outcome of the handler, the container is eventually
3542 # terminated. Other management of the container blocks until the hook
3543 # completes. More info:
3544 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3545 # +optional
3546 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3547 # TCP hooks not yet supported
3548 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3549 # +optional
3550 "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.
3551 # Number must be in the range 1 to 65535.
3552 # Name must be an IANA_SVC_NAME.
3553 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3554 # inner type. This allows you to have, for example, a JSON field that can
3555 # accept a name or number.
3556 "strVal": "A String", # The string value.
3557 "type": "A String", # The type of the value.
3558 "intVal": 42, # The int value.
3559 },
3560 },
3561 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3562 # +optional
3563 "path": "A String", # Path to access on the HTTP server.
3564 # +optional
3565 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3566 # "Host" in httpHeaders instead.
3567 # +optional
3568 "scheme": "A String", # Scheme to use for connecting to the host.
3569 # Defaults to HTTP.
3570 # +optional
3571 "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.
3572 # Number must be in the range 1 to 65535.
3573 # Name must be an IANA_SVC_NAME.
3574 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3575 # inner type. This allows you to have, for example, a JSON field that can
3576 # accept a name or number.
3577 "strVal": "A String", # The string value.
3578 "type": "A String", # The type of the value.
3579 "intVal": 42, # The int value.
3580 },
3581 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3582 # +optional
3583 { # HTTPHeader describes a custom header to be used in HTTP probes
3584 "name": "A String", # The header field name
3585 "value": "A String", # The header field value
3586 },
3587 ],
3588 },
3589 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3590 # Exec specifies the action to take.
3591 # +optional
3592 "command": "A String", # Command is the command line to execute inside the container, the working
3593 # directory for the command is root ('/') in the container's filesystem. The
3594 # command is simply exec'd, it is not run inside a shell, so traditional
3595 # shell instructions ('|', etc) won't work. To use a shell, you need to
3596 # explicitly call out to that shell. Exit status of 0 is treated as
3597 # live/healthy and non-zero is unhealthy. +optional
3598 },
3599 },
3600 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
3601 # handler fails, the container is terminated and restarted according to its
3602 # restart policy. Other management of the container blocks until the hook
3603 # completes. More info:
3604 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3605 # +optional
3606 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3607 # TCP hooks not yet supported
3608 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3609 # +optional
3610 "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.
3611 # Number must be in the range 1 to 65535.
3612 # Name must be an IANA_SVC_NAME.
3613 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3614 # inner type. This allows you to have, for example, a JSON field that can
3615 # accept a name or number.
3616 "strVal": "A String", # The string value.
3617 "type": "A String", # The type of the value.
3618 "intVal": 42, # The int value.
3619 },
3620 },
3621 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3622 # +optional
3623 "path": "A String", # Path to access on the HTTP server.
3624 # +optional
3625 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3626 # "Host" in httpHeaders instead.
3627 # +optional
3628 "scheme": "A String", # Scheme to use for connecting to the host.
3629 # Defaults to HTTP.
3630 # +optional
3631 "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.
3632 # Number must be in the range 1 to 65535.
3633 # Name must be an IANA_SVC_NAME.
3634 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3635 # inner type. This allows you to have, for example, a JSON field that can
3636 # accept a name or number.
3637 "strVal": "A String", # The string value.
3638 "type": "A String", # The type of the value.
3639 "intVal": 42, # The int value.
3640 },
3641 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3642 # +optional
3643 { # HTTPHeader describes a custom header to be used in HTTP probes
3644 "name": "A String", # The header field name
3645 "value": "A String", # The header field value
3646 },
3647 ],
3648 },
3649 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3650 # Exec specifies the action to take.
3651 # +optional
3652 "command": "A String", # Command is the command line to execute inside the container, the working
3653 # directory for the command is root ('/') in the container's filesystem. The
3654 # command is simply exec'd, it is not run inside a shell, so traditional
3655 # shell instructions ('|', etc) won't work. To use a shell, you need to
3656 # explicitly call out to that shell. Exit status of 0 is treated as
3657 # live/healthy and non-zero is unhealthy. +optional
3658 },
3659 },
3660 },
3661 "command": [ # Entrypoint array. Not executed within a shell.
3662 # The docker image's ENTRYPOINT is used if this is not provided.
3663 # Variable references $(VAR_NAME) are expanded using the container's
3664 # environment. If a variable cannot be resolved, the reference in the input
3665 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
3666 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
3667 # regardless of whether the variable exists or not.
3668 # Cannot be updated.
3669 # More info:
3670 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
3671 # +optional
3672 "A String",
3673 ],
3674 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
3675 # Container will be restarted if the probe fails.
3676 # Cannot be updated.
3677 # More info:
3678 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3679 # +optional
3680 # determine whether it is alive or ready to receive traffic.
3681 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
3682 # Defaults to 1 second. Minimum value is 1.
3683 # More info:
3684 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3685 # +optional
3686 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
3687 # are initiated. More info:
3688 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3689 # +optional
3690 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3691 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3692 # TCP hooks not yet supported
3693 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3694 # +optional
3695 "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.
3696 # Number must be in the range 1 to 65535.
3697 # Name must be an IANA_SVC_NAME.
3698 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3699 # inner type. This allows you to have, for example, a JSON field that can
3700 # accept a name or number.
3701 "strVal": "A String", # The string value.
3702 "type": "A String", # The type of the value.
3703 "intVal": 42, # The int value.
3704 },
3705 },
3706 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3707 # +optional
3708 "path": "A String", # Path to access on the HTTP server.
3709 # +optional
3710 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3711 # "Host" in httpHeaders instead.
3712 # +optional
3713 "scheme": "A String", # Scheme to use for connecting to the host.
3714 # Defaults to HTTP.
3715 # +optional
3716 "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.
3717 # Number must be in the range 1 to 65535.
3718 # Name must be an IANA_SVC_NAME.
3719 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3720 # inner type. This allows you to have, for example, a JSON field that can
3721 # accept a name or number.
3722 "strVal": "A String", # The string value.
3723 "type": "A String", # The type of the value.
3724 "intVal": 42, # The int value.
3725 },
3726 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3727 # +optional
3728 { # HTTPHeader describes a custom header to be used in HTTP probes
3729 "name": "A String", # The header field name
3730 "value": "A String", # The header field value
3731 },
3732 ],
3733 },
3734 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3735 # Exec specifies the action to take.
3736 # +optional
3737 "command": "A String", # Command is the command line to execute inside the container, the working
3738 # directory for the command is root ('/') in the container's filesystem. The
3739 # command is simply exec'd, it is not run inside a shell, so traditional
3740 # shell instructions ('|', etc) won't work. To use a shell, you need to
3741 # explicitly call out to that shell. Exit status of 0 is treated as
3742 # live/healthy and non-zero is unhealthy. +optional
3743 },
3744 },
3745 "periodSeconds": 42, # How often (in seconds) to perform the probe.
3746 # Default to 10 seconds. Minimum value is 1.
3747 # +optional
3748 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
3749 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3750 # is 1. +optional
3751 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
3752 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3753 },
3754 "image": "A String", # Docker image name.
3755 # More info: https://kubernetes.io/docs/concepts/containers/images
3756 "imagePullPolicy": "A String", # Image pull policy.
3757 # One of Always, Never, IfNotPresent.
3758 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
3759 # Cannot be updated.
3760 # More info:
3761 # https://kubernetes.io/docs/concepts/containers/images#updating-images
3762 # +optional
3763 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
3764 # Container will be removed from service endpoints if the probe fails.
3765 # Cannot be updated.
3766 # More info:
3767 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3768 # +optional
3769 # determine whether it is alive or ready to receive traffic.
3770 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
3771 # Defaults to 1 second. Minimum value is 1.
3772 # More info:
3773 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3774 # +optional
3775 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
3776 # are initiated. More info:
3777 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3778 # +optional
3779 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3780 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3781 # TCP hooks not yet supported
3782 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
3783 # +optional
3784 "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.
3785 # Number must be in the range 1 to 65535.
3786 # Name must be an IANA_SVC_NAME.
3787 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3788 # inner type. This allows you to have, for example, a JSON field that can
3789 # accept a name or number.
3790 "strVal": "A String", # The string value.
3791 "type": "A String", # The type of the value.
3792 "intVal": 42, # The int value.
3793 },
3794 },
3795 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3796 # +optional
3797 "path": "A String", # Path to access on the HTTP server.
3798 # +optional
3799 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
3800 # "Host" in httpHeaders instead.
3801 # +optional
3802 "scheme": "A String", # Scheme to use for connecting to the host.
3803 # Defaults to HTTP.
3804 # +optional
3805 "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.
3806 # Number must be in the range 1 to 65535.
3807 # Name must be an IANA_SVC_NAME.
3808 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3809 # inner type. This allows you to have, for example, a JSON field that can
3810 # accept a name or number.
3811 "strVal": "A String", # The string value.
3812 "type": "A String", # The type of the value.
3813 "intVal": 42, # The int value.
3814 },
3815 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
3816 # +optional
3817 { # HTTPHeader describes a custom header to be used in HTTP probes
3818 "name": "A String", # The header field name
3819 "value": "A String", # The header field value
3820 },
3821 ],
3822 },
3823 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
3824 # Exec specifies the action to take.
3825 # +optional
3826 "command": "A String", # Command is the command line to execute inside the container, the working
3827 # directory for the command is root ('/') in the container's filesystem. The
3828 # command is simply exec'd, it is not run inside a shell, so traditional
3829 # shell instructions ('|', etc) won't work. To use a shell, you need to
3830 # explicitly call out to that shell. Exit status of 0 is treated as
3831 # live/healthy and non-zero is unhealthy. +optional
3832 },
3833 },
3834 "periodSeconds": 42, # How often (in seconds) to perform the probe.
3835 # Default to 10 seconds. Minimum value is 1.
3836 # +optional
3837 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
3838 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3839 # is 1. +optional
3840 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
3841 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3842 },
3843 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
3844 # message will be written is mounted into the container's filesystem. Message
3845 # written is intended to be brief final status, such as an assertion failure
3846 # message. Will be truncated by the node if greater than 4096 bytes. The
3847 # total message length across all containers will be limited to 12kb.
3848 # Defaults to /dev/termination-log.
3849 # Cannot be updated.
3850 # +optional
3851 "ports": [ # List of ports to expose from the container. Exposing a port here gives
3852 # the system additional information about the network connections a
3853 # container uses, but is primarily informational. Not specifying a port here
3854 # DOES NOT prevent that port from being exposed. Any port which is
3855 # listening on the default "0.0.0.0" address inside a container will be
3856 # accessible from the network.
3857 # Cannot be updated.
3858 # +optional
3859 { # ContainerPort represents a network port in a single container.
3860 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
3861 # Defaults to "TCP".
3862 # +optional
3863 "hostIP": "A String", # What host IP to bind the external port to.
3864 # +optional
3865 "containerPort": 42, # Number of port to expose on the pod's IP address.
3866 # This must be a valid port number, 0 < x < 65536.
3867 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
3868 # named port in a pod must have a unique name. Name for the port that can be
3869 # referred to by services.
3870 # +optional
3871 "hostPort": 42, # Number of port to expose on the host.
3872 # If specified, this must be a valid port number, 0 < x < 65536.
3873 # If HostNetwork is specified, this must match ContainerPort.
3874 # Most containers do not need this.
3875 # +optional
3876 },
3877 ],
3878 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
3879 # Cannot be updated.
3880 # More info:
3881 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
3882 # +optional
3883 "requests": { # Requests describes the minimum amount of compute resources required.
3884 # If Requests is omitted for a container, it defaults to Limits if that is
3885 # explicitly specified, otherwise to an implementation-defined value.
3886 # The values of the map is string form of the 'quantity' k8s type:
3887 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3888 "a_key": "A String",
3889 },
3890 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
3891 # If Requests is omitted for a container, it defaults to Limits if that is
3892 # explicitly specified, otherwise to an implementation-defined value.
3893 # This is a temporary field created to migrate away from the
3894 # map<string, Quantity> requests field. This is done to become compliant
3895 # with k8s style API.
3896 # This field is deprecated in favor of requests field.
3897 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
3898 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3899 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
3900 },
3901 },
3902 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
3903 # This is a temporary field created to migrate away from the
3904 # map<string, Quantity> limits field. This is done to become compliant
3905 # with k8s style API.
3906 # This field is deprecated in favor of limits field.
3907 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
3908 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3909 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
3910 },
3911 },
3912 "limits": { # Limits describes the maximum amount of compute resources allowed.
3913 # The values of the map is string form of the 'quantity' k8s type:
3914 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3915 "a_key": "A String",
3916 },
3917 },
3918 "workingDir": "A String", # Container's working directory.
3919 # If not specified, the container runtime's default will be used, which
3920 # might be configured in the container image.
3921 # Cannot be updated.
3922 # +optional
3923 },
3924 "serviceAccountName": "A String", # Not currently used by Cloud Run.
3925 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
3926 # responding to a request.
3927 # Not currently used by Cloud Run.
3928 "servingState": "A String", # ServingState holds a value describing the state the resources
3929 # are in for this Revision.
3930 # Users must not specify this when creating a revision. It is expected
3931 # that the system will manipulate this based on routability and load.
3932 #
3933 # Populated by the system.
3934 # Read-only.
3935 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
3936 # metadata.generation instead, which is the sequence number containing the
3937 # latest generation of the desired state.
3938 #
3939 # Read-only.
3940 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
3941 # (Single or Multi) for the Revision. Defaults to Multi.
3942 # Deprecated in favor of ContainerConcurrency.
3943 # +optional
3944 "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
3945 # requests per container of the Revision. Values are:
3946 # - `0` thread-safe, the system should manage the max concurrency. This is
3947 # the default value.
3948 # - `1` not-thread-safe. Single concurrency
3949 # - `2-N` thread-safe, max concurrency of N
3950 "volumes": [
3951 { # Volume represents a named volume in a container.
3952 "configMap": { # Adapts a ConfigMap into a volume.
3953 # The contents of the target ConfigMap's Data field will be presented in a
3954 # volume as files using the keys in the Data field as the file names, unless
3955 # the items element is populated with specific mappings of keys to paths.
3956 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
3957 # Secret will be projected into the volume as a file whose name is the
3958 # key and content is the value. If specified, the listed keys will be
3959 # projected into the specified paths, and unlisted keys will not be
3960 # present. If a key is specified which is not present in the Secret,
3961 # the volume setup will error unless it is marked optional.
3962 { # Maps a string key to a path within a volume.
3963 "path": "A String", # The relative path of the file to map the key to.
3964 # May not be an absolute path.
3965 # May not contain the path element '..'.
3966 # May not start with the string '..'.
3967 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
3968 # specified, the volume defaultMode will be used. This might be in conflict
3969 # with other options that affect the file mode, like fsGroup, and the result
3970 # can be other mode bits set. +optional
3971 "key": "A String", # The key to project.
3972 },
3973 ],
3974 "optional": True or False, # Specify whether the Secret or its keys must be defined.
3975 "name": "A String", # Name of the config.
3976 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
3977 # 0777. Defaults to 0644. Directories within the path are not affected by
3978 # this setting. This might be in conflict with other options that affect the
3979 # file mode, like fsGroup, and the result can be other mode bits set.
3980 },
3981 "secret": { # The contents of the target Secret's Data field will be presented in a volume
3982 # as files using the keys in the Data field as the file names.
3983 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
3984 # Secret will be projected into the volume as a file whose name is the
3985 # key and content is the value. If specified, the listed keys will be
3986 # projected into the specified paths, and unlisted keys will not be
3987 # present. If a key is specified which is not present in the Secret,
3988 # the volume setup will error unless it is marked optional.
3989 { # Maps a string key to a path within a volume.
3990 "path": "A String", # The relative path of the file to map the key to.
3991 # May not be an absolute path.
3992 # May not contain the path element '..'.
3993 # May not start with the string '..'.
3994 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
3995 # specified, the volume defaultMode will be used. This might be in conflict
3996 # with other options that affect the file mode, like fsGroup, and the result
3997 # can be other mode bits set. +optional
3998 "key": "A String", # The key to project.
3999 },
4000 ],
4001 "optional": True or False, # Specify whether the Secret or its keys must be defined.
4002 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
4003 # 0777. Defaults to 0644. Directories within the path are not affected by
4004 # this setting. This might be in conflict with other options that affect the
4005 # file mode, like fsGroup, and the result can be other mode bits set.
4006 "secretName": "A String", # Name of the secret in the container's namespace to use.
4007 },
4008 "name": "A String", # Volume's name.
4009 },
4010 ],
4011 "containers": [ # Containers holds the single container that defines the unit of execution
4012 # for this Revision. In the context of a Revision, we disallow a number of
4013 # fields on this Container, including: name and lifecycle.
4014 { # A single application container.
4015 # This specifies both the container to run, the command to run in the container
4016 # and the arguments to supply to it.
4017 # Note that additional arguments may be supplied by the system to the container
4018 # at runtime.
4019 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
4020 # 'stdin' to be true. Default is false. +optional
4021 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
4022 # runtime. If this is not set, reads from stdin in the container will always
4023 # result in EOF. Default is false. +optional
4024 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
4025 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
4026 # More info:
4027 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4028 # +optional
4029 # container. Some fields are present in both SecurityContext and
4030 # PodSecurityContext. When both are set, the values in SecurityContext take
4031 # precedence.
4032 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
4033 # Default is false.
4034 # +optional
4035 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
4036 # Uses runtime default if unset.
4037 # May also be set in PodSecurityContext. If set in both SecurityContext and
4038 # PodSecurityContext, the value specified in SecurityContext takes
4039 # precedence. +optional
4040 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
4041 # Defaults to user specified in image metadata if unspecified.
4042 # May also be set in PodSecurityContext. If set in both SecurityContext and
4043 # PodSecurityContext, the value specified in SecurityContext takes
4044 # precedence. +optional
4045 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
4046 # privileges than its parent process. This bool directly controls if
4047 # the no_new_privs flag will be set on the container process.
4048 # AllowPrivilegeEscalation is true always when the container is:
4049 # 1) run as Privileged
4050 # 2) has CAP_SYS_ADMIN
4051 # +optional
4052 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
4053 # Defaults to the default set of capabilities granted by the container
4054 # runtime. +optional
4055 "add": [ # Added capabilities
4056 # +optional
4057 "A String",
4058 ],
4059 "drop": [ # Removed capabilities
4060 # +optional
4061 "A String",
4062 ],
4063 },
4064 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
4065 # If true, the Kubelet will validate the image at runtime to ensure that it
4066 # does not run as UID 0 (root) and fail to start the container if it does.
4067 # If unset or false, no such validation will be performed.
4068 # May also be set in PodSecurityContext. If set in both SecurityContext and
4069 # PodSecurityContext, the value specified in SecurityContext takes
4070 # precedence. +optional
4071 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
4072 # If unspecified, the container runtime will allocate a random SELinux
4073 # context for each container. May also be set in PodSecurityContext. If set
4074 # in both SecurityContext and PodSecurityContext, the value specified in
4075 # SecurityContext takes precedence. +optional
4076 "role": "A String", # Role is a SELinux role label that applies to the container.
4077 # +optional
4078 "type": "A String", # Type is a SELinux type label that applies to the container.
4079 # +optional
4080 "user": "A String", # User is a SELinux user label that applies to the container.
4081 # +optional
4082 "level": "A String", # Level is SELinux level label that applies to the container.
4083 # +optional
4084 },
4085 "privileged": True or False, # Run container in privileged mode.
4086 # Processes in privileged containers are essentially equivalent to root on
4087 # the host. Defaults to false. +optional
4088 },
4089 "name": "A String", # Name of the container specified as a DNS_LABEL.
4090 # Each container must have a unique name (DNS_LABEL).
4091 # Cannot be updated.
4092 "envFrom": [ # List of sources to populate environment variables in the container.
4093 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
4094 # will be reported as an event when the container is starting. When a key
4095 # exists in multiple sources, the value associated with the last source will
4096 # take precedence. Values defined by an Env with a duplicate key will take
4097 # precedence. Cannot be updated. +optional
4098 { # EnvFromSource represents the source of a set of ConfigMaps
4099 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
4100 # +optional
4101 # variables with.
4102 #
4103 # The contents of the target Secret's Data field will represent the
4104 # key-value pairs as environment variables.
4105 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
4106 # referenced object inside the same namespace.
4107 "name": "A String", # Name of the referent.
4108 # More info:
4109 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4110 },
4111 "optional": True or False, # Specify whether the Secret must be defined
4112 # +optional
4113 },
4114 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
4115 # +optional
4116 # variables with.
4117 #
4118 # The contents of the target ConfigMap's Data field will represent the
4119 # key-value pairs as environment variables.
4120 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
4121 # referenced object inside the same namespace.
4122 "name": "A String", # Name of the referent.
4123 # More info:
4124 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4125 },
4126 "optional": True or False, # Specify whether the ConfigMap must be defined
4127 # +optional
4128 },
4129 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
4130 # C_IDENTIFIER. +optional
4131 },
4132 ],
4133 "env": [ # List of environment variables to set in the container.
4134 # Cannot be updated.
4135 # +optional
4136 { # EnvVar represents an environment variable present in a Container.
4137 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
4138 "value": "A String", # Variable references $(VAR_NAME) are expanded
4139 # using the previous defined environment variables in the container and
4140 # any route environment variables. If a variable cannot be resolved,
4141 # the reference in the input string will be unchanged. The $(VAR_NAME)
4142 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
4143 # references will never be expanded, regardless of whether the variable
4144 # exists or not.
4145 # Defaults to "".
4146 # +optional
4147 },
4148 ],
4149 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
4150 # Cannot be updated.
4151 # +optional
4152 { # VolumeMount describes a mounting of a Volume within a container.
4153 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
4154 # Defaults to false.
4155 # +optional
4156 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
4157 # to container and the other way around.
4158 # When not set, MountPropagationHostToContainer is used.
4159 # This field is beta in 1.10.
4160 # +optional
4161 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
4162 # Defaults to "" (volume's root).
4163 # +optional
4164 "name": "A String", # This must match the Name of a Volume.
4165 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
4166 # not contain ':'.
4167 },
4168 ],
4169 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
4170 # This is an alpha feature and may change in the future.
4171 # +optional
4172 { # volumeDevice describes a mapping of a raw block device within a container.
4173 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
4174 # mapped to.
4175 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
4176 },
4177 ],
4178 "args": [ # Arguments to the entrypoint.
4179 # The docker image's CMD is used if this is not provided.
4180 # Variable references $(VAR_NAME) are expanded using the container's
4181 # environment. If a variable cannot be resolved, the reference in the input
4182 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4183 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4184 # regardless of whether the variable exists or not.
4185 # Cannot be updated.
4186 # More info:
4187 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4188 # +optional
4189 "A String",
4190 ],
4191 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
4192 # been opened by a single attach. When stdin is true the stdin stream will
4193 # remain open across multiple attach sessions. If stdinOnce is set to true,
4194 # stdin is opened on container start, is empty until the first client
4195 # attaches to stdin, and then remains open and accepts data until the client
4196 # disconnects, at which time stdin is closed and remains closed until the
4197 # container is restarted. If this flag is false, a container processes that
4198 # reads from stdin will never receive an EOF. Default is false +optional
4199 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
4200 # contents of terminationMessagePath to populate the container status message
4201 # on both success and failure. FallbackToLogsOnError will use the last chunk
4202 # of container log output if the termination message file is empty and the
4203 # container exited with an error. The log output is limited to 2048 bytes or
4204 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
4205 # +optional
4206 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
4207 # lifecycle events. Cannot be updated. +optional
4208 # response to container lifecycle events. For the PostStart and PreStop
4209 # lifecycle handlers, management of the container blocks until the action is
4210 # complete, unless the container process fails, in which case the handler is
4211 # aborted.
4212 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
4213 # The container is terminated after the handler completes.
4214 # The reason for termination is passed to the handler.
4215 # Regardless of the outcome of the handler, the container is eventually
4216 # terminated. Other management of the container blocks until the hook
4217 # completes. More info:
4218 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4219 # +optional
4220 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4221 # TCP hooks not yet supported
4222 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4223 # +optional
4224 "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.
4225 # Number must be in the range 1 to 65535.
4226 # Name must be an IANA_SVC_NAME.
4227 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4228 # inner type. This allows you to have, for example, a JSON field that can
4229 # accept a name or number.
4230 "strVal": "A String", # The string value.
4231 "type": "A String", # The type of the value.
4232 "intVal": 42, # The int value.
4233 },
4234 },
4235 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4236 # +optional
4237 "path": "A String", # Path to access on the HTTP server.
4238 # +optional
4239 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4240 # "Host" in httpHeaders instead.
4241 # +optional
4242 "scheme": "A String", # Scheme to use for connecting to the host.
4243 # Defaults to HTTP.
4244 # +optional
4245 "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.
4246 # Number must be in the range 1 to 65535.
4247 # Name must be an IANA_SVC_NAME.
4248 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4249 # inner type. This allows you to have, for example, a JSON field that can
4250 # accept a name or number.
4251 "strVal": "A String", # The string value.
4252 "type": "A String", # The type of the value.
4253 "intVal": 42, # The int value.
4254 },
4255 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4256 # +optional
4257 { # HTTPHeader describes a custom header to be used in HTTP probes
4258 "name": "A String", # The header field name
4259 "value": "A String", # The header field value
4260 },
4261 ],
4262 },
4263 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4264 # Exec specifies the action to take.
4265 # +optional
4266 "command": "A String", # Command is the command line to execute inside the container, the working
4267 # directory for the command is root ('/') in the container's filesystem. The
4268 # command is simply exec'd, it is not run inside a shell, so traditional
4269 # shell instructions ('|', etc) won't work. To use a shell, you need to
4270 # explicitly call out to that shell. Exit status of 0 is treated as
4271 # live/healthy and non-zero is unhealthy. +optional
4272 },
4273 },
4274 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
4275 # handler fails, the container is terminated and restarted according to its
4276 # restart policy. Other management of the container blocks until the hook
4277 # completes. More info:
4278 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4279 # +optional
4280 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4281 # TCP hooks not yet supported
4282 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4283 # +optional
4284 "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.
4285 # Number must be in the range 1 to 65535.
4286 # Name must be an IANA_SVC_NAME.
4287 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4288 # inner type. This allows you to have, for example, a JSON field that can
4289 # accept a name or number.
4290 "strVal": "A String", # The string value.
4291 "type": "A String", # The type of the value.
4292 "intVal": 42, # The int value.
4293 },
4294 },
4295 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4296 # +optional
4297 "path": "A String", # Path to access on the HTTP server.
4298 # +optional
4299 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4300 # "Host" in httpHeaders instead.
4301 # +optional
4302 "scheme": "A String", # Scheme to use for connecting to the host.
4303 # Defaults to HTTP.
4304 # +optional
4305 "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.
4306 # Number must be in the range 1 to 65535.
4307 # Name must be an IANA_SVC_NAME.
4308 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4309 # inner type. This allows you to have, for example, a JSON field that can
4310 # accept a name or number.
4311 "strVal": "A String", # The string value.
4312 "type": "A String", # The type of the value.
4313 "intVal": 42, # The int value.
4314 },
4315 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4316 # +optional
4317 { # HTTPHeader describes a custom header to be used in HTTP probes
4318 "name": "A String", # The header field name
4319 "value": "A String", # The header field value
4320 },
4321 ],
4322 },
4323 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4324 # Exec specifies the action to take.
4325 # +optional
4326 "command": "A String", # Command is the command line to execute inside the container, the working
4327 # directory for the command is root ('/') in the container's filesystem. The
4328 # command is simply exec'd, it is not run inside a shell, so traditional
4329 # shell instructions ('|', etc) won't work. To use a shell, you need to
4330 # explicitly call out to that shell. Exit status of 0 is treated as
4331 # live/healthy and non-zero is unhealthy. +optional
4332 },
4333 },
4334 },
4335 "command": [ # Entrypoint array. Not executed within a shell.
4336 # The docker image's ENTRYPOINT is used if this is not provided.
4337 # Variable references $(VAR_NAME) are expanded using the container's
4338 # environment. If a variable cannot be resolved, the reference in the input
4339 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4340 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4341 # regardless of whether the variable exists or not.
4342 # Cannot be updated.
4343 # More info:
4344 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4345 # +optional
4346 "A String",
4347 ],
4348 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
4349 # Container will be restarted if the probe fails.
4350 # Cannot be updated.
4351 # More info:
4352 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4353 # +optional
4354 # determine whether it is alive or ready to receive traffic.
4355 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
4356 # Defaults to 1 second. Minimum value is 1.
4357 # More info:
4358 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4359 # +optional
4360 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
4361 # are initiated. More info:
4362 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4363 # +optional
4364 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4365 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4366 # TCP hooks not yet supported
4367 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4368 # +optional
4369 "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.
4370 # Number must be in the range 1 to 65535.
4371 # Name must be an IANA_SVC_NAME.
4372 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4373 # inner type. This allows you to have, for example, a JSON field that can
4374 # accept a name or number.
4375 "strVal": "A String", # The string value.
4376 "type": "A String", # The type of the value.
4377 "intVal": 42, # The int value.
4378 },
4379 },
4380 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4381 # +optional
4382 "path": "A String", # Path to access on the HTTP server.
4383 # +optional
4384 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4385 # "Host" in httpHeaders instead.
4386 # +optional
4387 "scheme": "A String", # Scheme to use for connecting to the host.
4388 # Defaults to HTTP.
4389 # +optional
4390 "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.
4391 # Number must be in the range 1 to 65535.
4392 # Name must be an IANA_SVC_NAME.
4393 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4394 # inner type. This allows you to have, for example, a JSON field that can
4395 # accept a name or number.
4396 "strVal": "A String", # The string value.
4397 "type": "A String", # The type of the value.
4398 "intVal": 42, # The int value.
4399 },
4400 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4401 # +optional
4402 { # HTTPHeader describes a custom header to be used in HTTP probes
4403 "name": "A String", # The header field name
4404 "value": "A String", # The header field value
4405 },
4406 ],
4407 },
4408 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4409 # Exec specifies the action to take.
4410 # +optional
4411 "command": "A String", # Command is the command line to execute inside the container, the working
4412 # directory for the command is root ('/') in the container's filesystem. The
4413 # command is simply exec'd, it is not run inside a shell, so traditional
4414 # shell instructions ('|', etc) won't work. To use a shell, you need to
4415 # explicitly call out to that shell. Exit status of 0 is treated as
4416 # live/healthy and non-zero is unhealthy. +optional
4417 },
4418 },
4419 "periodSeconds": 42, # How often (in seconds) to perform the probe.
4420 # Default to 10 seconds. Minimum value is 1.
4421 # +optional
4422 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
4423 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4424 # is 1. +optional
4425 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
4426 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4427 },
4428 "image": "A String", # Docker image name.
4429 # More info: https://kubernetes.io/docs/concepts/containers/images
4430 "imagePullPolicy": "A String", # Image pull policy.
4431 # One of Always, Never, IfNotPresent.
4432 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
4433 # Cannot be updated.
4434 # More info:
4435 # https://kubernetes.io/docs/concepts/containers/images#updating-images
4436 # +optional
4437 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
4438 # Container will be removed from service endpoints if the probe fails.
4439 # Cannot be updated.
4440 # More info:
4441 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4442 # +optional
4443 # determine whether it is alive or ready to receive traffic.
4444 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
4445 # Defaults to 1 second. Minimum value is 1.
4446 # More info:
4447 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4448 # +optional
4449 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
4450 # are initiated. More info:
4451 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4452 # +optional
4453 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4454 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4455 # TCP hooks not yet supported
4456 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4457 # +optional
4458 "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.
4459 # Number must be in the range 1 to 65535.
4460 # Name must be an IANA_SVC_NAME.
4461 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4462 # inner type. This allows you to have, for example, a JSON field that can
4463 # accept a name or number.
4464 "strVal": "A String", # The string value.
4465 "type": "A String", # The type of the value.
4466 "intVal": 42, # The int value.
4467 },
4468 },
4469 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4470 # +optional
4471 "path": "A String", # Path to access on the HTTP server.
4472 # +optional
4473 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
4474 # "Host" in httpHeaders instead.
4475 # +optional
4476 "scheme": "A String", # Scheme to use for connecting to the host.
4477 # Defaults to HTTP.
4478 # +optional
4479 "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.
4480 # Number must be in the range 1 to 65535.
4481 # Name must be an IANA_SVC_NAME.
4482 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4483 # inner type. This allows you to have, for example, a JSON field that can
4484 # accept a name or number.
4485 "strVal": "A String", # The string value.
4486 "type": "A String", # The type of the value.
4487 "intVal": 42, # The int value.
4488 },
4489 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
4490 # +optional
4491 { # HTTPHeader describes a custom header to be used in HTTP probes
4492 "name": "A String", # The header field name
4493 "value": "A String", # The header field value
4494 },
4495 ],
4496 },
4497 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
4498 # Exec specifies the action to take.
4499 # +optional
4500 "command": "A String", # Command is the command line to execute inside the container, the working
4501 # directory for the command is root ('/') in the container's filesystem. The
4502 # command is simply exec'd, it is not run inside a shell, so traditional
4503 # shell instructions ('|', etc) won't work. To use a shell, you need to
4504 # explicitly call out to that shell. Exit status of 0 is treated as
4505 # live/healthy and non-zero is unhealthy. +optional
4506 },
4507 },
4508 "periodSeconds": 42, # How often (in seconds) to perform the probe.
4509 # Default to 10 seconds. Minimum value is 1.
4510 # +optional
4511 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
4512 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4513 # is 1. +optional
4514 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
4515 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4516 },
4517 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
4518 # message will be written is mounted into the container's filesystem. Message
4519 # written is intended to be brief final status, such as an assertion failure
4520 # message. Will be truncated by the node if greater than 4096 bytes. The
4521 # total message length across all containers will be limited to 12kb.
4522 # Defaults to /dev/termination-log.
4523 # Cannot be updated.
4524 # +optional
4525 "ports": [ # List of ports to expose from the container. Exposing a port here gives
4526 # the system additional information about the network connections a
4527 # container uses, but is primarily informational. Not specifying a port here
4528 # DOES NOT prevent that port from being exposed. Any port which is
4529 # listening on the default "0.0.0.0" address inside a container will be
4530 # accessible from the network.
4531 # Cannot be updated.
4532 # +optional
4533 { # ContainerPort represents a network port in a single container.
4534 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
4535 # Defaults to "TCP".
4536 # +optional
4537 "hostIP": "A String", # What host IP to bind the external port to.
4538 # +optional
4539 "containerPort": 42, # Number of port to expose on the pod's IP address.
4540 # This must be a valid port number, 0 < x < 65536.
4541 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
4542 # named port in a pod must have a unique name. Name for the port that can be
4543 # referred to by services.
4544 # +optional
4545 "hostPort": 42, # Number of port to expose on the host.
4546 # If specified, this must be a valid port number, 0 < x < 65536.
4547 # If HostNetwork is specified, this must match ContainerPort.
4548 # Most containers do not need this.
4549 # +optional
4550 },
4551 ],
4552 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
4553 # Cannot be updated.
4554 # More info:
4555 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
4556 # +optional
4557 "requests": { # Requests describes the minimum amount of compute resources required.
4558 # If Requests is omitted for a container, it defaults to Limits if that is
4559 # explicitly specified, otherwise to an implementation-defined value.
4560 # The values of the map is string form of the 'quantity' k8s type:
4561 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4562 "a_key": "A String",
4563 },
4564 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
4565 # If Requests is omitted for a container, it defaults to Limits if that is
4566 # explicitly specified, otherwise to an implementation-defined value.
4567 # This is a temporary field created to migrate away from the
4568 # map<string, Quantity> requests field. This is done to become compliant
4569 # with k8s style API.
4570 # This field is deprecated in favor of requests field.
4571 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
4572 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4573 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
4574 },
4575 },
4576 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
4577 # This is a temporary field created to migrate away from the
4578 # map<string, Quantity> limits field. This is done to become compliant
4579 # with k8s style API.
4580 # This field is deprecated in favor of limits field.
4581 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
4582 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4583 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
4584 },
4585 },
4586 "limits": { # Limits describes the maximum amount of compute resources allowed.
4587 # The values of the map is string form of the 'quantity' k8s type:
4588 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4589 "a_key": "A String",
4590 },
4591 },
4592 "workingDir": "A String", # Container's working directory.
4593 # If not specified, the container runtime's default will be used, which
4594 # might be configured in the container image.
4595 # Cannot be updated.
4596 # +optional
4597 },
4598 ],
4599 },
4600 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
4601 # will be generated by the Configuration.
4602 # all objects users must create.
4603 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
4604 # been deleted, this object will be garbage collected.
4605 # +optional
4606 { # OwnerReference contains enough information to let you identify an owning
4607 # object. Currently, an owning object must be in the same namespace, so there
4608 # is no namespace field.
4609 "kind": "A String", # Kind of the referent.
4610 # More info:
4611 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
4612 "uid": "A String", # UID of the referent.
4613 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
4614 "apiVersion": "A String", # API version of the referent.
4615 "controller": True or False, # If true, this reference points to the managing controller.
4616 # +optional
4617 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
4618 # the owner cannot be deleted from the key-value store until this
4619 # reference is removed.
4620 # Defaults to false.
4621 # To set this field, a user needs "delete" permission of the owner,
4622 # otherwise 422 (Unprocessable Entity) will be returned.
4623 # +optional
4624 "name": "A String", # Name of the referent.
4625 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
4626 },
4627 ],
4628 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
4629 # Is required when creating
4630 # resources, although some resources may allow a client to request the
4631 # generation of an appropriate name automatically. Name is primarily intended
4632 # for creation idempotence and configuration definition. Cannot be updated.
4633 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
4634 # +optional
4635 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
4636 # deleted. This field is set by the server when a graceful deletion is
4637 # requested by the user, and is not directly settable by a client. The
4638 # resource is expected to be deleted (no longer visible from resource lists,
4639 # and not reachable by name) after the time in this field, once the
4640 # finalizers list is empty. As long as the finalizers list contains items,
4641 # deletion is blocked. Once the deletionTimestamp is set, this value may not
4642 # be unset or be set further into the future, although it may be shortened or
4643 # the resource may be deleted prior to this time. For example, a user may
4644 # request that a pod is deleted in 30 seconds. The Kubelet will react by
4645 # sending a graceful termination signal to the containers in the pod. After
4646 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
4647 # to the container and after cleanup, remove the pod from the API. In the
4648 # presence of network partitions, this object may still exist after this
4649 # timestamp, until an administrator or automated process can determine the
4650 # resource is fully terminated.
4651 # If not set, graceful deletion of the object has not been requested.
4652 #
4653 # Populated by the system when a graceful deletion is requested.
4654 # Read-only.
4655 # More info:
4656 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
4657 # +optional
4658 "clusterName": "A String", # Not currently supported by Cloud Run.
4659 #
4660 # The name of the cluster which the object belongs to.
4661 # This is used to distinguish resources with same name and namespace in
4662 # different clusters. This field is not set anywhere right now and apiserver
4663 # is going to ignore it if set in create or update request. +optional
4664 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
4665 #
4666 # Number of seconds allowed for this object to gracefully terminate before
4667 # it will be removed from the system. Only set when deletionTimestamp is also
4668 # set. May only be shortened. Read-only. +optional
4669 "labels": { # Map of string keys and values that can be used to organize and categorize
4670 # (scope and select) objects. May match selectors of replication controllers
4671 # and routes.
4672 # More info: http://kubernetes.io/docs/user-guide/labels
4673 # +optional
4674 "a_key": "A String",
4675 },
4676 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
4677 # Cloud Run region. In Cloud Run the namespace must be equal to either the
4678 # project ID or project number.
4679 "generation": 42, # A sequence number representing a specific generation of the desired state.
4680 # Populated by the system. Read-only.
4681 # +optional
4682 "finalizers": [ # Not currently supported by Cloud Run.
4683 #
4684 # Must be empty before the object is deleted from the registry. Each entry
4685 # is an identifier for the responsible component that will remove the entry
4686 # from the list. If the deletionTimestamp of the object is non-nil, entries
4687 # in this list can only be removed.
4688 # +optional
4689 # +patchStrategy=merge
4690 "A String",
4691 ],
4692 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
4693 #
4694 # An initializer is a controller which enforces some system invariant at
4695 # object creation time. This field is a list of initializers that have not
4696 # yet acted on this object. If nil or empty, this object has been completely
4697 # initialized. Otherwise, the object is considered uninitialized and is
4698 # hidden (in list/watch and get calls) from clients that haven't explicitly
4699 # asked to observe uninitialized objects.
4700 #
4701 # When an object is created, the system will populate this list with the
4702 # current set of initializers. Only privileged users may set or modify this
4703 # list. Once it is empty, it may not be modified further by any user.
4704 "pending": [ # Pending is a list of initializers that must execute in order before this
4705 # object is visible. When the last pending initializer is removed, and no
4706 # failing result is set, the initializers struct will be set to nil and the
4707 # object is considered as initialized and visible to all clients.
4708 # +patchMergeKey=name
4709 # +patchStrategy=merge
4710 { # Initializer is information about an initializer that has not yet completed.
4711 "name": "A String", # name of the process that is responsible for initializing this object.
4712 },
4713 ],
4714 },
4715 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
4716 # can be used by clients to determine when objects have changed. May be used
4717 # for optimistic concurrency, change detection, and the watch operation on a
4718 # resource or set of resources. Clients must treat these values as opaque and
4719 # passed unmodified back to the server. They may only be valid for a
4720 # particular resource or set of resources.
4721 #
4722 # Populated by the system.
4723 # Read-only.
4724 # Value must be treated as opaque by clients and .
4725 # More info:
4726 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
4727 # +optional
4728 "generateName": "A String", # Not currently supported by Cloud Run.
4729 #
4730 # GenerateName is an optional prefix, used by the server, to generate a
4731 # unique name ONLY IF the Name field has not been provided. If this field is
4732 # used, the name returned to the client will be different than the name
4733 # passed. This value will also be combined with a unique suffix. The provided
4734 # value has the same validation rules as the Name field, and may be truncated
4735 # by the length of the suffix required to make the value unique on the
4736 # server.
4737 #
4738 # If this field is specified and the generated name exists, the server will
4739 # NOT return a 409 - instead, it will either return 201 Created or 500 with
4740 # Reason ServerTimeout indicating a unique name could not be found in the
4741 # time allotted, and the client should retry (optionally after the time
4742 # indicated in the Retry-After header).
4743 #
4744 # Applied only if Name is not specified.
4745 # More info:
4746 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
4747 # +optional
4748 # string generateName = 2;
4749 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
4750 # object was created. It is not guaranteed to be set in happens-before order
4751 # across separate operations. Clients may not set this value. It is
4752 # represented in RFC3339 form and is in UTC.
4753 #
4754 # Populated by the system.
4755 # Read-only.
4756 # Null for lists.
4757 # More info:
4758 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
4759 # +optional
4760 "annotations": { # Annotations is an unstructured key value map stored with a resource that
4761 # may be set by external tools to store and retrieve arbitrary metadata. They
4762 # are not queryable and should be preserved when modifying objects. More
4763 # info: http://kubernetes.io/docs/user-guide/annotations +optional
4764 "a_key": "A String",
4765 },
4766 "selfLink": "A String", # SelfLink is a URL representing this object.
4767 # Populated by the system.
4768 # Read-only.
4769 # +optional
4770 # string selfLink = 4;
4771 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
4772 # generated by the server on successful creation of a resource and is not
4773 # allowed to change on PUT operations.
4774 #
4775 # Populated by the system.
4776 # Read-only.
4777 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
4778 # +optional
4779 },
4780 },
4781 "template": { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
4782 # Not currently supported by Cloud Run.
4783 # from a template. Based on:
4784 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
4785 "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
4786 "container": { # A single application container. # Container defines the unit of execution for this Revision.
4787 # In the context of a Revision, we disallow a number of the fields of
4788 # this Container, including: name, ports, and volumeMounts.
4789 # The runtime contract is documented here:
4790 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
4791 # This specifies both the container to run, the command to run in the container
4792 # and the arguments to supply to it.
4793 # Note that additional arguments may be supplied by the system to the container
4794 # at runtime.
4795 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
4796 # 'stdin' to be true. Default is false. +optional
4797 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
4798 # runtime. If this is not set, reads from stdin in the container will always
4799 # result in EOF. Default is false. +optional
4800 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
4801 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
4802 # More info:
4803 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4804 # +optional
4805 # container. Some fields are present in both SecurityContext and
4806 # PodSecurityContext. When both are set, the values in SecurityContext take
4807 # precedence.
4808 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
4809 # Default is false.
4810 # +optional
4811 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
4812 # Uses runtime default if unset.
4813 # May also be set in PodSecurityContext. If set in both SecurityContext and
4814 # PodSecurityContext, the value specified in SecurityContext takes
4815 # precedence. +optional
4816 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
4817 # Defaults to user specified in image metadata if unspecified.
4818 # May also be set in PodSecurityContext. If set in both SecurityContext and
4819 # PodSecurityContext, the value specified in SecurityContext takes
4820 # precedence. +optional
4821 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
4822 # privileges than its parent process. This bool directly controls if
4823 # the no_new_privs flag will be set on the container process.
4824 # AllowPrivilegeEscalation is true always when the container is:
4825 # 1) run as Privileged
4826 # 2) has CAP_SYS_ADMIN
4827 # +optional
4828 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
4829 # Defaults to the default set of capabilities granted by the container
4830 # runtime. +optional
4831 "add": [ # Added capabilities
4832 # +optional
4833 "A String",
4834 ],
4835 "drop": [ # Removed capabilities
4836 # +optional
4837 "A String",
4838 ],
4839 },
4840 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
4841 # If true, the Kubelet will validate the image at runtime to ensure that it
4842 # does not run as UID 0 (root) and fail to start the container if it does.
4843 # If unset or false, no such validation will be performed.
4844 # May also be set in PodSecurityContext. If set in both SecurityContext and
4845 # PodSecurityContext, the value specified in SecurityContext takes
4846 # precedence. +optional
4847 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
4848 # If unspecified, the container runtime will allocate a random SELinux
4849 # context for each container. May also be set in PodSecurityContext. If set
4850 # in both SecurityContext and PodSecurityContext, the value specified in
4851 # SecurityContext takes precedence. +optional
4852 "role": "A String", # Role is a SELinux role label that applies to the container.
4853 # +optional
4854 "type": "A String", # Type is a SELinux type label that applies to the container.
4855 # +optional
4856 "user": "A String", # User is a SELinux user label that applies to the container.
4857 # +optional
4858 "level": "A String", # Level is SELinux level label that applies to the container.
4859 # +optional
4860 },
4861 "privileged": True or False, # Run container in privileged mode.
4862 # Processes in privileged containers are essentially equivalent to root on
4863 # the host. Defaults to false. +optional
4864 },
4865 "name": "A String", # Name of the container specified as a DNS_LABEL.
4866 # Each container must have a unique name (DNS_LABEL).
4867 # Cannot be updated.
4868 "envFrom": [ # List of sources to populate environment variables in the container.
4869 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
4870 # will be reported as an event when the container is starting. When a key
4871 # exists in multiple sources, the value associated with the last source will
4872 # take precedence. Values defined by an Env with a duplicate key will take
4873 # precedence. Cannot be updated. +optional
4874 { # EnvFromSource represents the source of a set of ConfigMaps
4875 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
4876 # +optional
4877 # variables with.
4878 #
4879 # The contents of the target Secret's Data field will represent the
4880 # key-value pairs as environment variables.
4881 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
4882 # referenced object inside the same namespace.
4883 "name": "A String", # Name of the referent.
4884 # More info:
4885 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4886 },
4887 "optional": True or False, # Specify whether the Secret must be defined
4888 # +optional
4889 },
4890 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
4891 # +optional
4892 # variables with.
4893 #
4894 # The contents of the target ConfigMap's Data field will represent the
4895 # key-value pairs as environment variables.
4896 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
4897 # referenced object inside the same namespace.
4898 "name": "A String", # Name of the referent.
4899 # More info:
4900 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4901 },
4902 "optional": True or False, # Specify whether the ConfigMap must be defined
4903 # +optional
4904 },
4905 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
4906 # C_IDENTIFIER. +optional
4907 },
4908 ],
4909 "env": [ # List of environment variables to set in the container.
4910 # Cannot be updated.
4911 # +optional
4912 { # EnvVar represents an environment variable present in a Container.
4913 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
4914 "value": "A String", # Variable references $(VAR_NAME) are expanded
4915 # using the previous defined environment variables in the container and
4916 # any route environment variables. If a variable cannot be resolved,
4917 # the reference in the input string will be unchanged. The $(VAR_NAME)
4918 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
4919 # references will never be expanded, regardless of whether the variable
4920 # exists or not.
4921 # Defaults to "".
4922 # +optional
4923 },
4924 ],
4925 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
4926 # Cannot be updated.
4927 # +optional
4928 { # VolumeMount describes a mounting of a Volume within a container.
4929 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
4930 # Defaults to false.
4931 # +optional
4932 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
4933 # to container and the other way around.
4934 # When not set, MountPropagationHostToContainer is used.
4935 # This field is beta in 1.10.
4936 # +optional
4937 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
4938 # Defaults to "" (volume's root).
4939 # +optional
4940 "name": "A String", # This must match the Name of a Volume.
4941 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
4942 # not contain ':'.
4943 },
4944 ],
4945 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
4946 # This is an alpha feature and may change in the future.
4947 # +optional
4948 { # volumeDevice describes a mapping of a raw block device within a container.
4949 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
4950 # mapped to.
4951 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
4952 },
4953 ],
4954 "args": [ # Arguments to the entrypoint.
4955 # The docker image's CMD is used if this is not provided.
4956 # Variable references $(VAR_NAME) are expanded using the container's
4957 # environment. If a variable cannot be resolved, the reference in the input
4958 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4959 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4960 # regardless of whether the variable exists or not.
4961 # Cannot be updated.
4962 # More info:
4963 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4964 # +optional
4965 "A String",
4966 ],
4967 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
4968 # been opened by a single attach. When stdin is true the stdin stream will
4969 # remain open across multiple attach sessions. If stdinOnce is set to true,
4970 # stdin is opened on container start, is empty until the first client
4971 # attaches to stdin, and then remains open and accepts data until the client
4972 # disconnects, at which time stdin is closed and remains closed until the
4973 # container is restarted. If this flag is false, a container processes that
4974 # reads from stdin will never receive an EOF. Default is false +optional
4975 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
4976 # contents of terminationMessagePath to populate the container status message
4977 # on both success and failure. FallbackToLogsOnError will use the last chunk
4978 # of container log output if the termination message file is empty and the
4979 # container exited with an error. The log output is limited to 2048 bytes or
4980 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
4981 # +optional
4982 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
4983 # lifecycle events. Cannot be updated. +optional
4984 # response to container lifecycle events. For the PostStart and PreStop
4985 # lifecycle handlers, management of the container blocks until the action is
4986 # complete, unless the container process fails, in which case the handler is
4987 # aborted.
4988 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
4989 # The container is terminated after the handler completes.
4990 # The reason for termination is passed to the handler.
4991 # Regardless of the outcome of the handler, the container is eventually
4992 # terminated. Other management of the container blocks until the hook
4993 # completes. More info:
4994 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4995 # +optional
4996 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4997 # TCP hooks not yet supported
4998 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
4999 # +optional
5000 "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.
5001 # Number must be in the range 1 to 65535.
5002 # Name must be an IANA_SVC_NAME.
5003 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5004 # inner type. This allows you to have, for example, a JSON field that can
5005 # accept a name or number.
5006 "strVal": "A String", # The string value.
5007 "type": "A String", # The type of the value.
5008 "intVal": 42, # The int value.
5009 },
5010 },
5011 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5012 # +optional
5013 "path": "A String", # Path to access on the HTTP server.
5014 # +optional
5015 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5016 # "Host" in httpHeaders instead.
5017 # +optional
5018 "scheme": "A String", # Scheme to use for connecting to the host.
5019 # Defaults to HTTP.
5020 # +optional
5021 "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.
5022 # Number must be in the range 1 to 65535.
5023 # Name must be an IANA_SVC_NAME.
5024 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5025 # inner type. This allows you to have, for example, a JSON field that can
5026 # accept a name or number.
5027 "strVal": "A String", # The string value.
5028 "type": "A String", # The type of the value.
5029 "intVal": 42, # The int value.
5030 },
5031 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5032 # +optional
5033 { # HTTPHeader describes a custom header to be used in HTTP probes
5034 "name": "A String", # The header field name
5035 "value": "A String", # The header field value
5036 },
5037 ],
5038 },
5039 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5040 # Exec specifies the action to take.
5041 # +optional
5042 "command": "A String", # Command is the command line to execute inside the container, the working
5043 # directory for the command is root ('/') in the container's filesystem. The
5044 # command is simply exec'd, it is not run inside a shell, so traditional
5045 # shell instructions ('|', etc) won't work. To use a shell, you need to
5046 # explicitly call out to that shell. Exit status of 0 is treated as
5047 # live/healthy and non-zero is unhealthy. +optional
5048 },
5049 },
5050 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
5051 # handler fails, the container is terminated and restarted according to its
5052 # restart policy. Other management of the container blocks until the hook
5053 # completes. More info:
5054 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5055 # +optional
5056 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5057 # TCP hooks not yet supported
5058 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5059 # +optional
5060 "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.
5061 # Number must be in the range 1 to 65535.
5062 # Name must be an IANA_SVC_NAME.
5063 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5064 # inner type. This allows you to have, for example, a JSON field that can
5065 # accept a name or number.
5066 "strVal": "A String", # The string value.
5067 "type": "A String", # The type of the value.
5068 "intVal": 42, # The int value.
5069 },
5070 },
5071 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5072 # +optional
5073 "path": "A String", # Path to access on the HTTP server.
5074 # +optional
5075 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5076 # "Host" in httpHeaders instead.
5077 # +optional
5078 "scheme": "A String", # Scheme to use for connecting to the host.
5079 # Defaults to HTTP.
5080 # +optional
5081 "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.
5082 # Number must be in the range 1 to 65535.
5083 # Name must be an IANA_SVC_NAME.
5084 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5085 # inner type. This allows you to have, for example, a JSON field that can
5086 # accept a name or number.
5087 "strVal": "A String", # The string value.
5088 "type": "A String", # The type of the value.
5089 "intVal": 42, # The int value.
5090 },
5091 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5092 # +optional
5093 { # HTTPHeader describes a custom header to be used in HTTP probes
5094 "name": "A String", # The header field name
5095 "value": "A String", # The header field value
5096 },
5097 ],
5098 },
5099 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5100 # Exec specifies the action to take.
5101 # +optional
5102 "command": "A String", # Command is the command line to execute inside the container, the working
5103 # directory for the command is root ('/') in the container's filesystem. The
5104 # command is simply exec'd, it is not run inside a shell, so traditional
5105 # shell instructions ('|', etc) won't work. To use a shell, you need to
5106 # explicitly call out to that shell. Exit status of 0 is treated as
5107 # live/healthy and non-zero is unhealthy. +optional
5108 },
5109 },
5110 },
5111 "command": [ # Entrypoint array. Not executed within a shell.
5112 # The docker image's ENTRYPOINT is used if this is not provided.
5113 # Variable references $(VAR_NAME) are expanded using the container's
5114 # environment. If a variable cannot be resolved, the reference in the input
5115 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5116 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5117 # regardless of whether the variable exists or not.
5118 # Cannot be updated.
5119 # More info:
5120 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5121 # +optional
5122 "A String",
5123 ],
5124 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
5125 # Container will be restarted if the probe fails.
5126 # Cannot be updated.
5127 # More info:
5128 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5129 # +optional
5130 # determine whether it is alive or ready to receive traffic.
5131 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5132 # Defaults to 1 second. Minimum value is 1.
5133 # More info:
5134 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5135 # +optional
5136 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5137 # are initiated. More info:
5138 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5139 # +optional
5140 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5141 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5142 # TCP hooks not yet supported
5143 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5144 # +optional
5145 "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.
5146 # Number must be in the range 1 to 65535.
5147 # Name must be an IANA_SVC_NAME.
5148 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5149 # inner type. This allows you to have, for example, a JSON field that can
5150 # accept a name or number.
5151 "strVal": "A String", # The string value.
5152 "type": "A String", # The type of the value.
5153 "intVal": 42, # The int value.
5154 },
5155 },
5156 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5157 # +optional
5158 "path": "A String", # Path to access on the HTTP server.
5159 # +optional
5160 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5161 # "Host" in httpHeaders instead.
5162 # +optional
5163 "scheme": "A String", # Scheme to use for connecting to the host.
5164 # Defaults to HTTP.
5165 # +optional
5166 "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.
5167 # Number must be in the range 1 to 65535.
5168 # Name must be an IANA_SVC_NAME.
5169 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5170 # inner type. This allows you to have, for example, a JSON field that can
5171 # accept a name or number.
5172 "strVal": "A String", # The string value.
5173 "type": "A String", # The type of the value.
5174 "intVal": 42, # The int value.
5175 },
5176 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5177 # +optional
5178 { # HTTPHeader describes a custom header to be used in HTTP probes
5179 "name": "A String", # The header field name
5180 "value": "A String", # The header field value
5181 },
5182 ],
5183 },
5184 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5185 # Exec specifies the action to take.
5186 # +optional
5187 "command": "A String", # Command is the command line to execute inside the container, the working
5188 # directory for the command is root ('/') in the container's filesystem. The
5189 # command is simply exec'd, it is not run inside a shell, so traditional
5190 # shell instructions ('|', etc) won't work. To use a shell, you need to
5191 # explicitly call out to that shell. Exit status of 0 is treated as
5192 # live/healthy and non-zero is unhealthy. +optional
5193 },
5194 },
5195 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5196 # Default to 10 seconds. Minimum value is 1.
5197 # +optional
5198 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5199 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5200 # is 1. +optional
5201 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5202 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5203 },
5204 "image": "A String", # Docker image name.
5205 # More info: https://kubernetes.io/docs/concepts/containers/images
5206 "imagePullPolicy": "A String", # Image pull policy.
5207 # One of Always, Never, IfNotPresent.
5208 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
5209 # Cannot be updated.
5210 # More info:
5211 # https://kubernetes.io/docs/concepts/containers/images#updating-images
5212 # +optional
5213 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
5214 # Container will be removed from service endpoints if the probe fails.
5215 # Cannot be updated.
5216 # More info:
5217 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5218 # +optional
5219 # determine whether it is alive or ready to receive traffic.
5220 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5221 # Defaults to 1 second. Minimum value is 1.
5222 # More info:
5223 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5224 # +optional
5225 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5226 # are initiated. More info:
5227 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5228 # +optional
5229 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5230 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5231 # TCP hooks not yet supported
5232 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5233 # +optional
5234 "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.
5235 # Number must be in the range 1 to 65535.
5236 # Name must be an IANA_SVC_NAME.
5237 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5238 # inner type. This allows you to have, for example, a JSON field that can
5239 # accept a name or number.
5240 "strVal": "A String", # The string value.
5241 "type": "A String", # The type of the value.
5242 "intVal": 42, # The int value.
5243 },
5244 },
5245 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5246 # +optional
5247 "path": "A String", # Path to access on the HTTP server.
5248 # +optional
5249 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5250 # "Host" in httpHeaders instead.
5251 # +optional
5252 "scheme": "A String", # Scheme to use for connecting to the host.
5253 # Defaults to HTTP.
5254 # +optional
5255 "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.
5256 # Number must be in the range 1 to 65535.
5257 # Name must be an IANA_SVC_NAME.
5258 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5259 # inner type. This allows you to have, for example, a JSON field that can
5260 # accept a name or number.
5261 "strVal": "A String", # The string value.
5262 "type": "A String", # The type of the value.
5263 "intVal": 42, # The int value.
5264 },
5265 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5266 # +optional
5267 { # HTTPHeader describes a custom header to be used in HTTP probes
5268 "name": "A String", # The header field name
5269 "value": "A String", # The header field value
5270 },
5271 ],
5272 },
5273 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5274 # Exec specifies the action to take.
5275 # +optional
5276 "command": "A String", # Command is the command line to execute inside the container, the working
5277 # directory for the command is root ('/') in the container's filesystem. The
5278 # command is simply exec'd, it is not run inside a shell, so traditional
5279 # shell instructions ('|', etc) won't work. To use a shell, you need to
5280 # explicitly call out to that shell. Exit status of 0 is treated as
5281 # live/healthy and non-zero is unhealthy. +optional
5282 },
5283 },
5284 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5285 # Default to 10 seconds. Minimum value is 1.
5286 # +optional
5287 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5288 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5289 # is 1. +optional
5290 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5291 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5292 },
5293 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
5294 # message will be written is mounted into the container's filesystem. Message
5295 # written is intended to be brief final status, such as an assertion failure
5296 # message. Will be truncated by the node if greater than 4096 bytes. The
5297 # total message length across all containers will be limited to 12kb.
5298 # Defaults to /dev/termination-log.
5299 # Cannot be updated.
5300 # +optional
5301 "ports": [ # List of ports to expose from the container. Exposing a port here gives
5302 # the system additional information about the network connections a
5303 # container uses, but is primarily informational. Not specifying a port here
5304 # DOES NOT prevent that port from being exposed. Any port which is
5305 # listening on the default "0.0.0.0" address inside a container will be
5306 # accessible from the network.
5307 # Cannot be updated.
5308 # +optional
5309 { # ContainerPort represents a network port in a single container.
5310 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
5311 # Defaults to "TCP".
5312 # +optional
5313 "hostIP": "A String", # What host IP to bind the external port to.
5314 # +optional
5315 "containerPort": 42, # Number of port to expose on the pod's IP address.
5316 # This must be a valid port number, 0 < x < 65536.
5317 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
5318 # named port in a pod must have a unique name. Name for the port that can be
5319 # referred to by services.
5320 # +optional
5321 "hostPort": 42, # Number of port to expose on the host.
5322 # If specified, this must be a valid port number, 0 < x < 65536.
5323 # If HostNetwork is specified, this must match ContainerPort.
5324 # Most containers do not need this.
5325 # +optional
5326 },
5327 ],
5328 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
5329 # Cannot be updated.
5330 # More info:
5331 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
5332 # +optional
5333 "requests": { # Requests describes the minimum amount of compute resources required.
5334 # If Requests is omitted for a container, it defaults to Limits if that is
5335 # explicitly specified, otherwise to an implementation-defined value.
5336 # The values of the map is string form of the 'quantity' k8s type:
5337 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5338 "a_key": "A String",
5339 },
5340 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
5341 # If Requests is omitted for a container, it defaults to Limits if that is
5342 # explicitly specified, otherwise to an implementation-defined value.
5343 # This is a temporary field created to migrate away from the
5344 # map<string, Quantity> requests field. This is done to become compliant
5345 # with k8s style API.
5346 # This field is deprecated in favor of requests field.
5347 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5348 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5349 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5350 },
5351 },
5352 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
5353 # This is a temporary field created to migrate away from the
5354 # map<string, Quantity> limits field. This is done to become compliant
5355 # with k8s style API.
5356 # This field is deprecated in favor of limits field.
5357 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
5358 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5359 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
5360 },
5361 },
5362 "limits": { # Limits describes the maximum amount of compute resources allowed.
5363 # The values of the map is string form of the 'quantity' k8s type:
5364 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5365 "a_key": "A String",
5366 },
5367 },
5368 "workingDir": "A String", # Container's working directory.
5369 # If not specified, the container runtime's default will be used, which
5370 # might be configured in the container image.
5371 # Cannot be updated.
5372 # +optional
5373 },
5374 "serviceAccountName": "A String", # Not currently used by Cloud Run.
5375 "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
5376 # responding to a request.
5377 # Not currently used by Cloud Run.
5378 "servingState": "A String", # ServingState holds a value describing the state the resources
5379 # are in for this Revision.
5380 # Users must not specify this when creating a revision. It is expected
5381 # that the system will manipulate this based on routability and load.
5382 #
5383 # Populated by the system.
5384 # Read-only.
5385 "generation": 42, # Deprecated and not currently populated by Cloud Run. See
5386 # metadata.generation instead, which is the sequence number containing the
5387 # latest generation of the desired state.
5388 #
5389 # Read-only.
5390 "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
5391 # (Single or Multi) for the Revision. Defaults to Multi.
5392 # Deprecated in favor of ContainerConcurrency.
5393 # +optional
5394 "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
5395 # requests per container of the Revision. Values are:
5396 # - `0` thread-safe, the system should manage the max concurrency. This is
5397 # the default value.
5398 # - `1` not-thread-safe. Single concurrency
5399 # - `2-N` thread-safe, max concurrency of N
5400 "volumes": [
5401 { # Volume represents a named volume in a container.
5402 "configMap": { # Adapts a ConfigMap into a volume.
5403 # The contents of the target ConfigMap's Data field will be presented in a
5404 # volume as files using the keys in the Data field as the file names, unless
5405 # the items element is populated with specific mappings of keys to paths.
5406 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
5407 # Secret will be projected into the volume as a file whose name is the
5408 # key and content is the value. If specified, the listed keys will be
5409 # projected into the specified paths, and unlisted keys will not be
5410 # present. If a key is specified which is not present in the Secret,
5411 # the volume setup will error unless it is marked optional.
5412 { # Maps a string key to a path within a volume.
5413 "path": "A String", # The relative path of the file to map the key to.
5414 # May not be an absolute path.
5415 # May not contain the path element '..'.
5416 # May not start with the string '..'.
5417 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
5418 # specified, the volume defaultMode will be used. This might be in conflict
5419 # with other options that affect the file mode, like fsGroup, and the result
5420 # can be other mode bits set. +optional
5421 "key": "A String", # The key to project.
5422 },
5423 ],
5424 "optional": True or False, # Specify whether the Secret or its keys must be defined.
5425 "name": "A String", # Name of the config.
5426 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
5427 # 0777. Defaults to 0644. Directories within the path are not affected by
5428 # this setting. This might be in conflict with other options that affect the
5429 # file mode, like fsGroup, and the result can be other mode bits set.
5430 },
5431 "secret": { # The contents of the target Secret's Data field will be presented in a volume
5432 # as files using the keys in the Data field as the file names.
5433 "items": [ # If unspecified, each key-value pair in the Data field of the referenced
5434 # Secret will be projected into the volume as a file whose name is the
5435 # key and content is the value. If specified, the listed keys will be
5436 # projected into the specified paths, and unlisted keys will not be
5437 # present. If a key is specified which is not present in the Secret,
5438 # the volume setup will error unless it is marked optional.
5439 { # Maps a string key to a path within a volume.
5440 "path": "A String", # The relative path of the file to map the key to.
5441 # May not be an absolute path.
5442 # May not contain the path element '..'.
5443 # May not start with the string '..'.
5444 "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
5445 # specified, the volume defaultMode will be used. This might be in conflict
5446 # with other options that affect the file mode, like fsGroup, and the result
5447 # can be other mode bits set. +optional
5448 "key": "A String", # The key to project.
5449 },
5450 ],
5451 "optional": True or False, # Specify whether the Secret or its keys must be defined.
5452 "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
5453 # 0777. Defaults to 0644. Directories within the path are not affected by
5454 # this setting. This might be in conflict with other options that affect the
5455 # file mode, like fsGroup, and the result can be other mode bits set.
5456 "secretName": "A String", # Name of the secret in the container's namespace to use.
5457 },
5458 "name": "A String", # Volume's name.
5459 },
5460 ],
5461 "containers": [ # Containers holds the single container that defines the unit of execution
5462 # for this Revision. In the context of a Revision, we disallow a number of
5463 # fields on this Container, including: name and lifecycle.
5464 { # A single application container.
5465 # This specifies both the container to run, the command to run in the container
5466 # and the arguments to supply to it.
5467 # Note that additional arguments may be supplied by the system to the container
5468 # at runtime.
5469 "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
5470 # 'stdin' to be true. Default is false. +optional
5471 "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
5472 # runtime. If this is not set, reads from stdin in the container will always
5473 # result in EOF. Default is false. +optional
5474 "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
5475 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
5476 # More info:
5477 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
5478 # +optional
5479 # container. Some fields are present in both SecurityContext and
5480 # PodSecurityContext. When both are set, the values in SecurityContext take
5481 # precedence.
5482 "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
5483 # Default is false.
5484 # +optional
5485 "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
5486 # Uses runtime default if unset.
5487 # May also be set in PodSecurityContext. If set in both SecurityContext and
5488 # PodSecurityContext, the value specified in SecurityContext takes
5489 # precedence. +optional
5490 "runAsUser": "A String", # The UID to run the entrypoint of the container process.
5491 # Defaults to user specified in image metadata if unspecified.
5492 # May also be set in PodSecurityContext. If set in both SecurityContext and
5493 # PodSecurityContext, the value specified in SecurityContext takes
5494 # precedence. +optional
5495 "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
5496 # privileges than its parent process. This bool directly controls if
5497 # the no_new_privs flag will be set on the container process.
5498 # AllowPrivilegeEscalation is true always when the container is:
5499 # 1) run as Privileged
5500 # 2) has CAP_SYS_ADMIN
5501 # +optional
5502 "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
5503 # Defaults to the default set of capabilities granted by the container
5504 # runtime. +optional
5505 "add": [ # Added capabilities
5506 # +optional
5507 "A String",
5508 ],
5509 "drop": [ # Removed capabilities
5510 # +optional
5511 "A String",
5512 ],
5513 },
5514 "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
5515 # If true, the Kubelet will validate the image at runtime to ensure that it
5516 # does not run as UID 0 (root) and fail to start the container if it does.
5517 # If unset or false, no such validation will be performed.
5518 # May also be set in PodSecurityContext. If set in both SecurityContext and
5519 # PodSecurityContext, the value specified in SecurityContext takes
5520 # precedence. +optional
5521 "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
5522 # If unspecified, the container runtime will allocate a random SELinux
5523 # context for each container. May also be set in PodSecurityContext. If set
5524 # in both SecurityContext and PodSecurityContext, the value specified in
5525 # SecurityContext takes precedence. +optional
5526 "role": "A String", # Role is a SELinux role label that applies to the container.
5527 # +optional
5528 "type": "A String", # Type is a SELinux type label that applies to the container.
5529 # +optional
5530 "user": "A String", # User is a SELinux user label that applies to the container.
5531 # +optional
5532 "level": "A String", # Level is SELinux level label that applies to the container.
5533 # +optional
5534 },
5535 "privileged": True or False, # Run container in privileged mode.
5536 # Processes in privileged containers are essentially equivalent to root on
5537 # the host. Defaults to false. +optional
5538 },
5539 "name": "A String", # Name of the container specified as a DNS_LABEL.
5540 # Each container must have a unique name (DNS_LABEL).
5541 # Cannot be updated.
5542 "envFrom": [ # List of sources to populate environment variables in the container.
5543 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
5544 # will be reported as an event when the container is starting. When a key
5545 # exists in multiple sources, the value associated with the last source will
5546 # take precedence. Values defined by an Env with a duplicate key will take
5547 # precedence. Cannot be updated. +optional
5548 { # EnvFromSource represents the source of a set of ConfigMaps
5549 "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
5550 # +optional
5551 # variables with.
5552 #
5553 # The contents of the target Secret's Data field will represent the
5554 # key-value pairs as environment variables.
5555 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
5556 # referenced object inside the same namespace.
5557 "name": "A String", # Name of the referent.
5558 # More info:
5559 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5560 },
5561 "optional": True or False, # Specify whether the Secret must be defined
5562 # +optional
5563 },
5564 "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
5565 # +optional
5566 # variables with.
5567 #
5568 # The contents of the target ConfigMap's Data field will represent the
5569 # key-value pairs as environment variables.
5570 "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
5571 # referenced object inside the same namespace.
5572 "name": "A String", # Name of the referent.
5573 # More info:
5574 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5575 },
5576 "optional": True or False, # Specify whether the ConfigMap must be defined
5577 # +optional
5578 },
5579 "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
5580 # C_IDENTIFIER. +optional
5581 },
5582 ],
5583 "env": [ # List of environment variables to set in the container.
5584 # Cannot be updated.
5585 # +optional
5586 { # EnvVar represents an environment variable present in a Container.
5587 "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
5588 "value": "A String", # Variable references $(VAR_NAME) are expanded
5589 # using the previous defined environment variables in the container and
5590 # any route environment variables. If a variable cannot be resolved,
5591 # the reference in the input string will be unchanged. The $(VAR_NAME)
5592 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
5593 # references will never be expanded, regardless of whether the variable
5594 # exists or not.
5595 # Defaults to "".
5596 # +optional
5597 },
5598 ],
5599 "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
5600 # Cannot be updated.
5601 # +optional
5602 { # VolumeMount describes a mounting of a Volume within a container.
5603 "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
5604 # Defaults to false.
5605 # +optional
5606 "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
5607 # to container and the other way around.
5608 # When not set, MountPropagationHostToContainer is used.
5609 # This field is beta in 1.10.
5610 # +optional
5611 "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
5612 # Defaults to "" (volume's root).
5613 # +optional
5614 "name": "A String", # This must match the Name of a Volume.
5615 "mountPath": "A String", # Path within the container at which the volume should be mounted. Must
5616 # not contain ':'.
5617 },
5618 ],
5619 "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
5620 # This is an alpha feature and may change in the future.
5621 # +optional
5622 { # volumeDevice describes a mapping of a raw block device within a container.
5623 "devicePath": "A String", # devicePath is the path inside of the container that the device will be
5624 # mapped to.
5625 "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
5626 },
5627 ],
5628 "args": [ # Arguments to the entrypoint.
5629 # The docker image's CMD is used if this is not provided.
5630 # Variable references $(VAR_NAME) are expanded using the container's
5631 # environment. If a variable cannot be resolved, the reference in the input
5632 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5633 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5634 # regardless of whether the variable exists or not.
5635 # Cannot be updated.
5636 # More info:
5637 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5638 # +optional
5639 "A String",
5640 ],
5641 "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
5642 # been opened by a single attach. When stdin is true the stdin stream will
5643 # remain open across multiple attach sessions. If stdinOnce is set to true,
5644 # stdin is opened on container start, is empty until the first client
5645 # attaches to stdin, and then remains open and accepts data until the client
5646 # disconnects, at which time stdin is closed and remains closed until the
5647 # container is restarted. If this flag is false, a container processes that
5648 # reads from stdin will never receive an EOF. Default is false +optional
5649 "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
5650 # contents of terminationMessagePath to populate the container status message
5651 # on both success and failure. FallbackToLogsOnError will use the last chunk
5652 # of container log output if the termination message file is empty and the
5653 # container exited with an error. The log output is limited to 2048 bytes or
5654 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
5655 # +optional
5656 "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
5657 # lifecycle events. Cannot be updated. +optional
5658 # response to container lifecycle events. For the PostStart and PreStop
5659 # lifecycle handlers, management of the container blocks until the action is
5660 # complete, unless the container process fails, in which case the handler is
5661 # aborted.
5662 "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
5663 # The container is terminated after the handler completes.
5664 # The reason for termination is passed to the handler.
5665 # Regardless of the outcome of the handler, the container is eventually
5666 # terminated. Other management of the container blocks until the hook
5667 # completes. More info:
5668 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5669 # +optional
5670 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5671 # TCP hooks not yet supported
5672 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5673 # +optional
5674 "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.
5675 # Number must be in the range 1 to 65535.
5676 # Name must be an IANA_SVC_NAME.
5677 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5678 # inner type. This allows you to have, for example, a JSON field that can
5679 # accept a name or number.
5680 "strVal": "A String", # The string value.
5681 "type": "A String", # The type of the value.
5682 "intVal": 42, # The int value.
5683 },
5684 },
5685 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5686 # +optional
5687 "path": "A String", # Path to access on the HTTP server.
5688 # +optional
5689 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5690 # "Host" in httpHeaders instead.
5691 # +optional
5692 "scheme": "A String", # Scheme to use for connecting to the host.
5693 # Defaults to HTTP.
5694 # +optional
5695 "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.
5696 # Number must be in the range 1 to 65535.
5697 # Name must be an IANA_SVC_NAME.
5698 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5699 # inner type. This allows you to have, for example, a JSON field that can
5700 # accept a name or number.
5701 "strVal": "A String", # The string value.
5702 "type": "A String", # The type of the value.
5703 "intVal": 42, # The int value.
5704 },
5705 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5706 # +optional
5707 { # HTTPHeader describes a custom header to be used in HTTP probes
5708 "name": "A String", # The header field name
5709 "value": "A String", # The header field value
5710 },
5711 ],
5712 },
5713 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5714 # Exec specifies the action to take.
5715 # +optional
5716 "command": "A String", # Command is the command line to execute inside the container, the working
5717 # directory for the command is root ('/') in the container's filesystem. The
5718 # command is simply exec'd, it is not run inside a shell, so traditional
5719 # shell instructions ('|', etc) won't work. To use a shell, you need to
5720 # explicitly call out to that shell. Exit status of 0 is treated as
5721 # live/healthy and non-zero is unhealthy. +optional
5722 },
5723 },
5724 "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
5725 # handler fails, the container is terminated and restarted according to its
5726 # restart policy. Other management of the container blocks until the hook
5727 # completes. More info:
5728 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
5729 # +optional
5730 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5731 # TCP hooks not yet supported
5732 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5733 # +optional
5734 "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.
5735 # Number must be in the range 1 to 65535.
5736 # Name must be an IANA_SVC_NAME.
5737 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5738 # inner type. This allows you to have, for example, a JSON field that can
5739 # accept a name or number.
5740 "strVal": "A String", # The string value.
5741 "type": "A String", # The type of the value.
5742 "intVal": 42, # The int value.
5743 },
5744 },
5745 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5746 # +optional
5747 "path": "A String", # Path to access on the HTTP server.
5748 # +optional
5749 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5750 # "Host" in httpHeaders instead.
5751 # +optional
5752 "scheme": "A String", # Scheme to use for connecting to the host.
5753 # Defaults to HTTP.
5754 # +optional
5755 "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.
5756 # Number must be in the range 1 to 65535.
5757 # Name must be an IANA_SVC_NAME.
5758 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5759 # inner type. This allows you to have, for example, a JSON field that can
5760 # accept a name or number.
5761 "strVal": "A String", # The string value.
5762 "type": "A String", # The type of the value.
5763 "intVal": 42, # The int value.
5764 },
5765 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5766 # +optional
5767 { # HTTPHeader describes a custom header to be used in HTTP probes
5768 "name": "A String", # The header field name
5769 "value": "A String", # The header field value
5770 },
5771 ],
5772 },
5773 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5774 # Exec specifies the action to take.
5775 # +optional
5776 "command": "A String", # Command is the command line to execute inside the container, the working
5777 # directory for the command is root ('/') in the container's filesystem. The
5778 # command is simply exec'd, it is not run inside a shell, so traditional
5779 # shell instructions ('|', etc) won't work. To use a shell, you need to
5780 # explicitly call out to that shell. Exit status of 0 is treated as
5781 # live/healthy and non-zero is unhealthy. +optional
5782 },
5783 },
5784 },
5785 "command": [ # Entrypoint array. Not executed within a shell.
5786 # The docker image's ENTRYPOINT is used if this is not provided.
5787 # Variable references $(VAR_NAME) are expanded using the container's
5788 # environment. If a variable cannot be resolved, the reference in the input
5789 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5790 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5791 # regardless of whether the variable exists or not.
5792 # Cannot be updated.
5793 # More info:
5794 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5795 # +optional
5796 "A String",
5797 ],
5798 "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
5799 # Container will be restarted if the probe fails.
5800 # Cannot be updated.
5801 # More info:
5802 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5803 # +optional
5804 # determine whether it is alive or ready to receive traffic.
5805 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5806 # Defaults to 1 second. Minimum value is 1.
5807 # More info:
5808 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5809 # +optional
5810 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5811 # are initiated. More info:
5812 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5813 # +optional
5814 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5815 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5816 # TCP hooks not yet supported
5817 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5818 # +optional
5819 "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.
5820 # Number must be in the range 1 to 65535.
5821 # Name must be an IANA_SVC_NAME.
5822 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5823 # inner type. This allows you to have, for example, a JSON field that can
5824 # accept a name or number.
5825 "strVal": "A String", # The string value.
5826 "type": "A String", # The type of the value.
5827 "intVal": 42, # The int value.
5828 },
5829 },
5830 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5831 # +optional
5832 "path": "A String", # Path to access on the HTTP server.
5833 # +optional
5834 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5835 # "Host" in httpHeaders instead.
5836 # +optional
5837 "scheme": "A String", # Scheme to use for connecting to the host.
5838 # Defaults to HTTP.
5839 # +optional
5840 "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.
5841 # Number must be in the range 1 to 65535.
5842 # Name must be an IANA_SVC_NAME.
5843 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5844 # inner type. This allows you to have, for example, a JSON field that can
5845 # accept a name or number.
5846 "strVal": "A String", # The string value.
5847 "type": "A String", # The type of the value.
5848 "intVal": 42, # The int value.
5849 },
5850 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5851 # +optional
5852 { # HTTPHeader describes a custom header to be used in HTTP probes
5853 "name": "A String", # The header field name
5854 "value": "A String", # The header field value
5855 },
5856 ],
5857 },
5858 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5859 # Exec specifies the action to take.
5860 # +optional
5861 "command": "A String", # Command is the command line to execute inside the container, the working
5862 # directory for the command is root ('/') in the container's filesystem. The
5863 # command is simply exec'd, it is not run inside a shell, so traditional
5864 # shell instructions ('|', etc) won't work. To use a shell, you need to
5865 # explicitly call out to that shell. Exit status of 0 is treated as
5866 # live/healthy and non-zero is unhealthy. +optional
5867 },
5868 },
5869 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5870 # Default to 10 seconds. Minimum value is 1.
5871 # +optional
5872 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5873 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5874 # is 1. +optional
5875 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5876 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5877 },
5878 "image": "A String", # Docker image name.
5879 # More info: https://kubernetes.io/docs/concepts/containers/images
5880 "imagePullPolicy": "A String", # Image pull policy.
5881 # One of Always, Never, IfNotPresent.
5882 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
5883 # Cannot be updated.
5884 # More info:
5885 # https://kubernetes.io/docs/concepts/containers/images#updating-images
5886 # +optional
5887 "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
5888 # Container will be removed from service endpoints if the probe fails.
5889 # Cannot be updated.
5890 # More info:
5891 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5892 # +optional
5893 # determine whether it is alive or ready to receive traffic.
5894 "timeoutSeconds": 42, # Number of seconds after which the probe times out.
5895 # Defaults to 1 second. Minimum value is 1.
5896 # More info:
5897 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5898 # +optional
5899 "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
5900 # are initiated. More info:
5901 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5902 # +optional
5903 "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5904 "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5905 # TCP hooks not yet supported
5906 "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
5907 # +optional
5908 "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.
5909 # Number must be in the range 1 to 65535.
5910 # Name must be an IANA_SVC_NAME.
5911 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5912 # inner type. This allows you to have, for example, a JSON field that can
5913 # accept a name or number.
5914 "strVal": "A String", # The string value.
5915 "type": "A String", # The type of the value.
5916 "intVal": 42, # The int value.
5917 },
5918 },
5919 "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5920 # +optional
5921 "path": "A String", # Path to access on the HTTP server.
5922 # +optional
5923 "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
5924 # "Host" in httpHeaders instead.
5925 # +optional
5926 "scheme": "A String", # Scheme to use for connecting to the host.
5927 # Defaults to HTTP.
5928 # +optional
5929 "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.
5930 # Number must be in the range 1 to 65535.
5931 # Name must be an IANA_SVC_NAME.
5932 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5933 # inner type. This allows you to have, for example, a JSON field that can
5934 # accept a name or number.
5935 "strVal": "A String", # The string value.
5936 "type": "A String", # The type of the value.
5937 "intVal": 42, # The int value.
5938 },
5939 "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
5940 # +optional
5941 { # HTTPHeader describes a custom header to be used in HTTP probes
5942 "name": "A String", # The header field name
5943 "value": "A String", # The header field value
5944 },
5945 ],
5946 },
5947 "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
5948 # Exec specifies the action to take.
5949 # +optional
5950 "command": "A String", # Command is the command line to execute inside the container, the working
5951 # directory for the command is root ('/') in the container's filesystem. The
5952 # command is simply exec'd, it is not run inside a shell, so traditional
5953 # shell instructions ('|', etc) won't work. To use a shell, you need to
5954 # explicitly call out to that shell. Exit status of 0 is treated as
5955 # live/healthy and non-zero is unhealthy. +optional
5956 },
5957 },
5958 "periodSeconds": 42, # How often (in seconds) to perform the probe.
5959 # Default to 10 seconds. Minimum value is 1.
5960 # +optional
5961 "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
5962 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5963 # is 1. +optional
5964 "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
5965 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5966 },
5967 "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
5968 # message will be written is mounted into the container's filesystem. Message
5969 # written is intended to be brief final status, such as an assertion failure
5970 # message. Will be truncated by the node if greater than 4096 bytes. The
5971 # total message length across all containers will be limited to 12kb.
5972 # Defaults to /dev/termination-log.
5973 # Cannot be updated.
5974 # +optional
5975 "ports": [ # List of ports to expose from the container. Exposing a port here gives
5976 # the system additional information about the network connections a
5977 # container uses, but is primarily informational. Not specifying a port here
5978 # DOES NOT prevent that port from being exposed. Any port which is
5979 # listening on the default "0.0.0.0" address inside a container will be
5980 # accessible from the network.
5981 # Cannot be updated.
5982 # +optional
5983 { # ContainerPort represents a network port in a single container.
5984 "protocol": "A String", # Protocol for port. Must be UDP or TCP.
5985 # Defaults to "TCP".
5986 # +optional
5987 "hostIP": "A String", # What host IP to bind the external port to.
5988 # +optional
5989 "containerPort": 42, # Number of port to expose on the pod's IP address.
5990 # This must be a valid port number, 0 < x < 65536.
5991 "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
5992 # named port in a pod must have a unique name. Name for the port that can be
5993 # referred to by services.
5994 # +optional
5995 "hostPort": 42, # Number of port to expose on the host.
5996 # If specified, this must be a valid port number, 0 < x < 65536.
5997 # If HostNetwork is specified, this must match ContainerPort.
5998 # Most containers do not need this.
5999 # +optional
6000 },
6001 ],
6002 "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
6003 # Cannot be updated.
6004 # More info:
6005 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
6006 # +optional
6007 "requests": { # Requests describes the minimum amount of compute resources required.
6008 # If Requests is omitted for a container, it defaults to Limits if that is
6009 # explicitly specified, otherwise to an implementation-defined value.
6010 # The values of the map is string form of the 'quantity' k8s type:
6011 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6012 "a_key": "A String",
6013 },
6014 "requestsInMap": { # Requests describes the minimum amount of compute resources required.
6015 # If Requests is omitted for a container, it defaults to Limits if that is
6016 # explicitly specified, otherwise to an implementation-defined value.
6017 # This is a temporary field created to migrate away from the
6018 # map<string, Quantity> requests field. This is done to become compliant
6019 # with k8s style API.
6020 # This field is deprecated in favor of requests field.
6021 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
6022 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6023 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
6024 },
6025 },
6026 "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
6027 # This is a temporary field created to migrate away from the
6028 # map<string, Quantity> limits field. This is done to become compliant
6029 # with k8s style API.
6030 # This field is deprecated in favor of limits field.
6031 "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
6032 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6033 "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
6034 },
6035 },
6036 "limits": { # Limits describes the maximum amount of compute resources allowed.
6037 # The values of the map is string form of the 'quantity' k8s type:
6038 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6039 "a_key": "A String",
6040 },
6041 },
6042 "workingDir": "A String", # Container's working directory.
6043 # If not specified, the container runtime's default will be used, which
6044 # might be configured in the container image.
6045 # Cannot be updated.
6046 # +optional
6047 },
6048 ],
6049 },
6050 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
6051 # will be generated by the Configuration.
6052 # all objects users must create.
6053 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
6054 # been deleted, this object will be garbage collected.
6055 # +optional
6056 { # OwnerReference contains enough information to let you identify an owning
6057 # object. Currently, an owning object must be in the same namespace, so there
6058 # is no namespace field.
6059 "kind": "A String", # Kind of the referent.
6060 # More info:
6061 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
6062 "uid": "A String", # UID of the referent.
6063 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6064 "apiVersion": "A String", # API version of the referent.
6065 "controller": True or False, # If true, this reference points to the managing controller.
6066 # +optional
6067 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
6068 # the owner cannot be deleted from the key-value store until this
6069 # reference is removed.
6070 # Defaults to false.
6071 # To set this field, a user needs "delete" permission of the owner,
6072 # otherwise 422 (Unprocessable Entity) will be returned.
6073 # +optional
6074 "name": "A String", # Name of the referent.
6075 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6076 },
6077 ],
6078 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
6079 # Is required when creating
6080 # resources, although some resources may allow a client to request the
6081 # generation of an appropriate name automatically. Name is primarily intended
6082 # for creation idempotence and configuration definition. Cannot be updated.
6083 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6084 # +optional
6085 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
6086 # deleted. This field is set by the server when a graceful deletion is
6087 # requested by the user, and is not directly settable by a client. The
6088 # resource is expected to be deleted (no longer visible from resource lists,
6089 # and not reachable by name) after the time in this field, once the
6090 # finalizers list is empty. As long as the finalizers list contains items,
6091 # deletion is blocked. Once the deletionTimestamp is set, this value may not
6092 # be unset or be set further into the future, although it may be shortened or
6093 # the resource may be deleted prior to this time. For example, a user may
6094 # request that a pod is deleted in 30 seconds. The Kubelet will react by
6095 # sending a graceful termination signal to the containers in the pod. After
6096 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
6097 # to the container and after cleanup, remove the pod from the API. In the
6098 # presence of network partitions, this object may still exist after this
6099 # timestamp, until an administrator or automated process can determine the
6100 # resource is fully terminated.
6101 # If not set, graceful deletion of the object has not been requested.
6102 #
6103 # Populated by the system when a graceful deletion is requested.
6104 # Read-only.
6105 # More info:
6106 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6107 # +optional
6108 "clusterName": "A String", # Not currently supported by Cloud Run.
6109 #
6110 # The name of the cluster which the object belongs to.
6111 # This is used to distinguish resources with same name and namespace in
6112 # different clusters. This field is not set anywhere right now and apiserver
6113 # is going to ignore it if set in create or update request. +optional
6114 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
6115 #
6116 # Number of seconds allowed for this object to gracefully terminate before
6117 # it will be removed from the system. Only set when deletionTimestamp is also
6118 # set. May only be shortened. Read-only. +optional
6119 "labels": { # Map of string keys and values that can be used to organize and categorize
6120 # (scope and select) objects. May match selectors of replication controllers
6121 # and routes.
6122 # More info: http://kubernetes.io/docs/user-guide/labels
6123 # +optional
6124 "a_key": "A String",
6125 },
6126 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
6127 # Cloud Run region. In Cloud Run the namespace must be equal to either the
6128 # project ID or project number.
6129 "generation": 42, # A sequence number representing a specific generation of the desired state.
6130 # Populated by the system. Read-only.
6131 # +optional
6132 "finalizers": [ # Not currently supported by Cloud Run.
6133 #
6134 # Must be empty before the object is deleted from the registry. Each entry
6135 # is an identifier for the responsible component that will remove the entry
6136 # from the list. If the deletionTimestamp of the object is non-nil, entries
6137 # in this list can only be removed.
6138 # +optional
6139 # +patchStrategy=merge
6140 "A String",
6141 ],
6142 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
6143 #
6144 # An initializer is a controller which enforces some system invariant at
6145 # object creation time. This field is a list of initializers that have not
6146 # yet acted on this object. If nil or empty, this object has been completely
6147 # initialized. Otherwise, the object is considered uninitialized and is
6148 # hidden (in list/watch and get calls) from clients that haven't explicitly
6149 # asked to observe uninitialized objects.
6150 #
6151 # When an object is created, the system will populate this list with the
6152 # current set of initializers. Only privileged users may set or modify this
6153 # list. Once it is empty, it may not be modified further by any user.
6154 "pending": [ # Pending is a list of initializers that must execute in order before this
6155 # object is visible. When the last pending initializer is removed, and no
6156 # failing result is set, the initializers struct will be set to nil and the
6157 # object is considered as initialized and visible to all clients.
6158 # +patchMergeKey=name
6159 # +patchStrategy=merge
6160 { # Initializer is information about an initializer that has not yet completed.
6161 "name": "A String", # name of the process that is responsible for initializing this object.
6162 },
6163 ],
6164 },
6165 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
6166 # can be used by clients to determine when objects have changed. May be used
6167 # for optimistic concurrency, change detection, and the watch operation on a
6168 # resource or set of resources. Clients must treat these values as opaque and
6169 # passed unmodified back to the server. They may only be valid for a
6170 # particular resource or set of resources.
6171 #
6172 # Populated by the system.
6173 # Read-only.
6174 # Value must be treated as opaque by clients and .
6175 # More info:
6176 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
6177 # +optional
6178 "generateName": "A String", # Not currently supported by Cloud Run.
6179 #
6180 # GenerateName is an optional prefix, used by the server, to generate a
6181 # unique name ONLY IF the Name field has not been provided. If this field is
6182 # used, the name returned to the client will be different than the name
6183 # passed. This value will also be combined with a unique suffix. The provided
6184 # value has the same validation rules as the Name field, and may be truncated
6185 # by the length of the suffix required to make the value unique on the
6186 # server.
6187 #
6188 # If this field is specified and the generated name exists, the server will
6189 # NOT return a 409 - instead, it will either return 201 Created or 500 with
6190 # Reason ServerTimeout indicating a unique name could not be found in the
6191 # time allotted, and the client should retry (optionally after the time
6192 # indicated in the Retry-After header).
6193 #
6194 # Applied only if Name is not specified.
6195 # More info:
6196 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
6197 # +optional
6198 # string generateName = 2;
6199 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
6200 # object was created. It is not guaranteed to be set in happens-before order
6201 # across separate operations. Clients may not set this value. It is
6202 # represented in RFC3339 form and is in UTC.
6203 #
6204 # Populated by the system.
6205 # Read-only.
6206 # Null for lists.
6207 # More info:
6208 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6209 # +optional
6210 "annotations": { # Annotations is an unstructured key value map stored with a resource that
6211 # may be set by external tools to store and retrieve arbitrary metadata. They
6212 # are not queryable and should be preserved when modifying objects. More
6213 # info: http://kubernetes.io/docs/user-guide/annotations +optional
6214 "a_key": "A String",
6215 },
6216 "selfLink": "A String", # SelfLink is a URL representing this object.
6217 # Populated by the system.
6218 # Read-only.
6219 # +optional
6220 # string selfLink = 4;
6221 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
6222 # generated by the server on successful creation of a resource and is not
6223 # allowed to change on PUT operations.
6224 #
6225 # Populated by the system.
6226 # Read-only.
6227 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6228 # +optional
6229 },
6230 },
6231 },
6232 "apiVersion": "A String", # The API version for this call such as "v1alpha1".
6233 "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
6234 # labels, and annotations.
6235 # all objects users must create.
6236 "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
6237 # been deleted, this object will be garbage collected.
6238 # +optional
6239 { # OwnerReference contains enough information to let you identify an owning
6240 # object. Currently, an owning object must be in the same namespace, so there
6241 # is no namespace field.
6242 "kind": "A String", # Kind of the referent.
6243 # More info:
6244 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
6245 "uid": "A String", # UID of the referent.
6246 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6247 "apiVersion": "A String", # API version of the referent.
6248 "controller": True or False, # If true, this reference points to the managing controller.
6249 # +optional
6250 "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
6251 # the owner cannot be deleted from the key-value store until this
6252 # reference is removed.
6253 # Defaults to false.
6254 # To set this field, a user needs "delete" permission of the owner,
6255 # otherwise 422 (Unprocessable Entity) will be returned.
6256 # +optional
6257 "name": "A String", # Name of the referent.
6258 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6259 },
6260 ],
6261 "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
6262 # Is required when creating
6263 # resources, although some resources may allow a client to request the
6264 # generation of an appropriate name automatically. Name is primarily intended
6265 # for creation idempotence and configuration definition. Cannot be updated.
6266 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6267 # +optional
6268 "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
6269 # deleted. This field is set by the server when a graceful deletion is
6270 # requested by the user, and is not directly settable by a client. The
6271 # resource is expected to be deleted (no longer visible from resource lists,
6272 # and not reachable by name) after the time in this field, once the
6273 # finalizers list is empty. As long as the finalizers list contains items,
6274 # deletion is blocked. Once the deletionTimestamp is set, this value may not
6275 # be unset or be set further into the future, although it may be shortened or
6276 # the resource may be deleted prior to this time. For example, a user may
6277 # request that a pod is deleted in 30 seconds. The Kubelet will react by
6278 # sending a graceful termination signal to the containers in the pod. After
6279 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
6280 # to the container and after cleanup, remove the pod from the API. In the
6281 # presence of network partitions, this object may still exist after this
6282 # timestamp, until an administrator or automated process can determine the
6283 # resource is fully terminated.
6284 # If not set, graceful deletion of the object has not been requested.
6285 #
6286 # Populated by the system when a graceful deletion is requested.
6287 # Read-only.
6288 # More info:
6289 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6290 # +optional
6291 "clusterName": "A String", # Not currently supported by Cloud Run.
6292 #
6293 # The name of the cluster which the object belongs to.
6294 # This is used to distinguish resources with same name and namespace in
6295 # different clusters. This field is not set anywhere right now and apiserver
6296 # is going to ignore it if set in create or update request. +optional
6297 "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
6298 #
6299 # Number of seconds allowed for this object to gracefully terminate before
6300 # it will be removed from the system. Only set when deletionTimestamp is also
6301 # set. May only be shortened. Read-only. +optional
6302 "labels": { # Map of string keys and values that can be used to organize and categorize
6303 # (scope and select) objects. May match selectors of replication controllers
6304 # and routes.
6305 # More info: http://kubernetes.io/docs/user-guide/labels
6306 # +optional
6307 "a_key": "A String",
6308 },
6309 "namespace": "A String", # Namespace defines the space within each name must be unique, within a
6310 # Cloud Run region. In Cloud Run the namespace must be equal to either the
6311 # project ID or project number.
6312 "generation": 42, # A sequence number representing a specific generation of the desired state.
6313 # Populated by the system. Read-only.
6314 # +optional
6315 "finalizers": [ # Not currently supported by Cloud Run.
6316 #
6317 # Must be empty before the object is deleted from the registry. Each entry
6318 # is an identifier for the responsible component that will remove the entry
6319 # from the list. If the deletionTimestamp of the object is non-nil, entries
6320 # in this list can only be removed.
6321 # +optional
6322 # +patchStrategy=merge
6323 "A String",
6324 ],
6325 "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
6326 #
6327 # An initializer is a controller which enforces some system invariant at
6328 # object creation time. This field is a list of initializers that have not
6329 # yet acted on this object. If nil or empty, this object has been completely
6330 # initialized. Otherwise, the object is considered uninitialized and is
6331 # hidden (in list/watch and get calls) from clients that haven't explicitly
6332 # asked to observe uninitialized objects.
6333 #
6334 # When an object is created, the system will populate this list with the
6335 # current set of initializers. Only privileged users may set or modify this
6336 # list. Once it is empty, it may not be modified further by any user.
6337 "pending": [ # Pending is a list of initializers that must execute in order before this
6338 # object is visible. When the last pending initializer is removed, and no
6339 # failing result is set, the initializers struct will be set to nil and the
6340 # object is considered as initialized and visible to all clients.
6341 # +patchMergeKey=name
6342 # +patchStrategy=merge
6343 { # Initializer is information about an initializer that has not yet completed.
6344 "name": "A String", # name of the process that is responsible for initializing this object.
6345 },
6346 ],
6347 },
6348 "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
6349 # can be used by clients to determine when objects have changed. May be used
6350 # for optimistic concurrency, change detection, and the watch operation on a
6351 # resource or set of resources. Clients must treat these values as opaque and
6352 # passed unmodified back to the server. They may only be valid for a
6353 # particular resource or set of resources.
6354 #
6355 # Populated by the system.
6356 # Read-only.
6357 # Value must be treated as opaque by clients and .
6358 # More info:
6359 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
6360 # +optional
6361 "generateName": "A String", # Not currently supported by Cloud Run.
6362 #
6363 # GenerateName is an optional prefix, used by the server, to generate a
6364 # unique name ONLY IF the Name field has not been provided. If this field is
6365 # used, the name returned to the client will be different than the name
6366 # passed. This value will also be combined with a unique suffix. The provided
6367 # value has the same validation rules as the Name field, and may be truncated
6368 # by the length of the suffix required to make the value unique on the
6369 # server.
6370 #
6371 # If this field is specified and the generated name exists, the server will
6372 # NOT return a 409 - instead, it will either return 201 Created or 500 with
6373 # Reason ServerTimeout indicating a unique name could not be found in the
6374 # time allotted, and the client should retry (optionally after the time
6375 # indicated in the Retry-After header).
6376 #
6377 # Applied only if Name is not specified.
6378 # More info:
6379 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
6380 # +optional
6381 # string generateName = 2;
6382 "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
6383 # object was created. It is not guaranteed to be set in happens-before order
6384 # across separate operations. Clients may not set this value. It is
6385 # represented in RFC3339 form and is in UTC.
6386 #
6387 # Populated by the system.
6388 # Read-only.
6389 # Null for lists.
6390 # More info:
6391 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
6392 # +optional
6393 "annotations": { # Annotations is an unstructured key value map stored with a resource that
6394 # may be set by external tools to store and retrieve arbitrary metadata. They
6395 # are not queryable and should be preserved when modifying objects. More
6396 # info: http://kubernetes.io/docs/user-guide/annotations +optional
6397 "a_key": "A String",
6398 },
6399 "selfLink": "A String", # SelfLink is a URL representing this object.
6400 # Populated by the system.
6401 # Read-only.
6402 # +optional
6403 # string selfLink = 4;
6404 "uid": "A String", # UID is the unique in time and space value for this object. It is typically
6405 # generated by the server on successful creation of a resource and is not
6406 # allowed to change on PUT operations.
6407 #
6408 # Populated by the system.
6409 # Read-only.
6410 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
6411 # +optional
6412 },
6413 },
6414 ],
6415 "apiVersion": "A String", # The API version for this call such as "v1alpha1".
6416 "metadata": { # ListMeta describes metadata that synthetic resources must have, including # Metadata associated with this Configuration list.
6417 # lists and various status objects. A resource may have only one of
6418 # {ObjectMeta, ListMeta}.
6419 "continue": "A String", # continue may be set if the user set a limit on the number of items
6420 # returned, and indicates that the server has more data available. The value
6421 # is opaque and may be used to issue another request to the endpoint that
6422 # served this list to retrieve the next set of available objects. Continuing
6423 # a list may not be possible if the server configuration has changed or more
6424 # than a few minutes have passed. The resourceVersion field returned when
6425 # using this continue value will be identical to the value in the first
6426 # response.
6427 "selfLink": "A String", # SelfLink is a URL representing this object.
6428 # Populated by the system.
6429 # Read-only.
6430 # +optional
6431 "resourceVersion": "A String", # String that identifies the server's internal version of this object that
6432 # can be used by clients to determine when objects have changed. Value must
6433 # be treated as opaque by clients and passed unmodified back to the server.
6434 # Populated by the system.
6435 # Read-only.
6436 # More info:
6437 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
6438 # +optional
6439 },
6440 }</pre>
6441</div>
6442
6443</body></html>