• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<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.revisions.html">revisions</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#delete">delete(name, kind=None, propagationPolicy=None, orphanDependents=None, apiVersion=None, x__xgafv=None)</a></code></p>
79<p class="firstline">Rpc to delete a revision.</p>
80<p class="toc_element">
81  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Rpc to get information about a revision.</p>
83<p class="toc_element">
84  <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>
85<p class="firstline">Rpc to list revisions.</p>
86<h3>Method Details</h3>
87<div class="method">
88    <code class="details" id="delete">delete(name, kind=None, propagationPolicy=None, orphanDependents=None, apiVersion=None, x__xgafv=None)</code>
89  <pre>Rpc to delete a revision.
90
91Args:
92  name: string, The name of the revision being deleted. If needed, replace
93{namespace_id} with the project ID. (required)
94  kind: string, Cloud Run currently ignores this parameter.
95  propagationPolicy: string, Specifies the propagation policy of delete. Cloud Run currently ignores
96this setting, and deletes in the background. Please see
97kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for
98more information.
99  orphanDependents: boolean, Deprecated.
100Specifies the cascade behavior on delete.
101Cloud Run only supports cascading behavior, so this must be false.
102This attribute is deprecated, and is now replaced with PropagationPolicy
103See https://github.com/kubernetes/kubernetes/issues/46659 for more info.
104  apiVersion: string, Cloud Run currently ignores this parameter.
105  x__xgafv: string, V1 error format.
106    Allowed values
107      1 - v1 error format
108      2 - v2 error format
109
110Returns:
111  An object of the form:
112
113    { # A generic empty message that you can re-use to avoid defining duplicated
114      # empty messages in your APIs. A typical example is to use it as the request
115      # or the response type of an API method. For instance:
116      #
117      #     service Foo {
118      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
119      #     }
120      #
121      # The JSON representation for `Empty` is empty JSON object `{}`.
122  }</pre>
123</div>
124
125<div class="method">
126    <code class="details" id="get">get(name, x__xgafv=None)</code>
127  <pre>Rpc to get information about a revision.
128
129Args:
130  name: string, The name of the revision being retrieved. If needed, replace
131{namespace_id} with the project ID. (required)
132  x__xgafv: string, V1 error format.
133    Allowed values
134      1 - v1 error format
135      2 - v2 error format
136
137Returns:
138  An object of the form:
139
140    { # Revision is an immutable snapshot of code and configuration.  A revision
141      # references a container image. Revisions are created by updates to a
142      # Configuration.
143      #
144      # Cloud Run does not currently support referencing a build that is responsible
145      # for materializing the container image from source.
146      #
147      # See also:
148      # https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
149    "status": { # RevisionStatus communicates the observed state of the Revision (from the # Status communicates the observed state of the Revision (from the
150        # controller).
151        # controller).
152      "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Revision that
153          # was last processed by the controller.
154          #
155          # Clients polling for completed reconciliation should poll until
156          # observedGeneration = metadata.generation, and the Ready condition's status
157          # is True or False.
158      "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified
159          # within .Spec.Container.Image. The digest is resolved during the creation
160          # of Revision. This field holds the digest value regardless of whether
161          # a tag or digest was originally specified in the Container object.
162      "serviceName": "A String", # Not currently used by Cloud Run.
163      "conditions": [ # Conditions communicates information about ongoing/complete
164          # reconciliation processes that bring the "spec" inline with the observed
165          # state of the world.
166          #
167          # As a Revision is being prepared, it will incrementally
168          # update conditions "ResourcesAvailable", "ContainerHealthy", and "Active",
169          # which contribute to the overall "Ready" condition.
170        { # RevisionCondition defines a readiness condition for a Revision.
171          "status": "A String", # Status of the condition, one of True, False, Unknown.
172          "severity": "A String", # How to interpret failures of this condition, one of Error, Warning, Info
173              # +optional
174          "lastTransitionTime": "A String", # Last time the condition transitioned from one status to another.
175              # +optional
176          "reason": "A String", # One-word CamelCase reason for the condition's last transition.
177              # +optional
178          "message": "A String", # Human readable message indicating details about the current status.
179              # +optional
180          "type": "A String", # RevisionConditionType is used to communicate the status of the
181              # reconciliation process. See also:
182              # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
183              # Types include:
184              #
185              # * "Ready": True when the Revision is ready.
186              # * "ResourcesAvailable": True when underlying resources have been
187              # provisioned.
188              # * "ContainerHealthy": True when the Revision readiness check completes.
189              # * "Active": True when the Revision may receive traffic.
190        },
191      ],
192      "logUrl": "A String", # Specifies the generated logging url for this particular revision
193          # based on the revision url template specified in the controller's config.
194          # +optional
195    },
196    "kind": "A String", # The kind of this resource, in this case "Revision".
197    "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
198      "container": { # A single application container. # Container defines the unit of execution for this Revision.
199          # In the context of a Revision, we disallow a number of the fields of
200          # this Container, including: name, ports, and volumeMounts.
201          # The runtime contract is documented here:
202          # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
203          # This specifies both the container to run, the command to run in the container
204          # and the arguments to supply to it.
205          # Note that additional arguments may be supplied by the system to the container
206          # at runtime.
207        "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
208            # 'stdin' to be true. Default is false. +optional
209        "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
210            # runtime. If this is not set, reads from stdin in the container will always
211            # result in EOF. Default is false. +optional
212        "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
213            # More info: https://kubernetes.io/docs/concepts/policy/security-context/
214            # More info:
215            # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
216            # +optional
217            # container. Some fields are present in both SecurityContext and
218            # PodSecurityContext.  When both are set, the values in SecurityContext take
219            # precedence.
220          "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
221              # Default is false.
222              # +optional
223          "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
224              # Uses runtime default if unset.
225              # May also be set in PodSecurityContext.  If set in both SecurityContext and
226              # PodSecurityContext, the value specified in SecurityContext takes
227              # precedence. +optional
228          "runAsUser": "A String", # The UID to run the entrypoint of the container process.
229              # Defaults to user specified in image metadata if unspecified.
230              # May also be set in PodSecurityContext.  If set in both SecurityContext and
231              # PodSecurityContext, the value specified in SecurityContext takes
232              # precedence. +optional
233          "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
234              # privileges than its parent process. This bool directly controls if
235              # the no_new_privs flag will be set on the container process.
236              # AllowPrivilegeEscalation is true always when the container is:
237              # 1) run as Privileged
238              # 2) has CAP_SYS_ADMIN
239              # +optional
240          "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
241              # Defaults to the default set of capabilities granted by the container
242              # runtime. +optional
243            "add": [ # Added capabilities
244                # +optional
245              "A String",
246            ],
247            "drop": [ # Removed capabilities
248                # +optional
249              "A String",
250            ],
251          },
252          "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
253              # If true, the Kubelet will validate the image at runtime to ensure that it
254              # does not run as UID 0 (root) and fail to start the container if it does.
255              # If unset or false, no such validation will be performed.
256              # May also be set in PodSecurityContext.  If set in both SecurityContext and
257              # PodSecurityContext, the value specified in SecurityContext takes
258              # precedence. +optional
259          "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
260              # If unspecified, the container runtime will allocate a random SELinux
261              # context for each container.  May also be set in PodSecurityContext.  If set
262              # in both SecurityContext and PodSecurityContext, the value specified in
263              # SecurityContext takes precedence. +optional
264            "role": "A String", # Role is a SELinux role label that applies to the container.
265                # +optional
266            "type": "A String", # Type is a SELinux type label that applies to the container.
267                # +optional
268            "user": "A String", # User is a SELinux user label that applies to the container.
269                # +optional
270            "level": "A String", # Level is SELinux level label that applies to the container.
271                # +optional
272          },
273          "privileged": True or False, # Run container in privileged mode.
274              # Processes in privileged containers are essentially equivalent to root on
275              # the host. Defaults to false. +optional
276        },
277        "name": "A String", # Name of the container specified as a DNS_LABEL.
278            # Each container must have a unique name (DNS_LABEL).
279            # Cannot be updated.
280        "envFrom": [ # List of sources to populate environment variables in the container.
281            # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
282            # will be reported as an event when the container is starting. When a key
283            # exists in multiple sources, the value associated with the last source will
284            # take precedence. Values defined by an Env with a duplicate key will take
285            # precedence. Cannot be updated. +optional
286          { # EnvFromSource represents the source of a set of ConfigMaps
287            "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
288                # +optional
289                # variables with.
290                #
291                # The contents of the target Secret's Data field will represent the
292                # key-value pairs as environment variables.
293              "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
294                  # referenced object inside the same namespace.
295                "name": "A String", # Name of the referent.
296                    # More info:
297                    # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
298              },
299              "optional": True or False, # Specify whether the Secret must be defined
300                  # +optional
301            },
302            "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
303                # +optional
304                # variables with.
305                #
306                # The contents of the target ConfigMap's Data field will represent the
307                # key-value pairs as environment variables.
308              "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
309                  # referenced object inside the same namespace.
310                "name": "A String", # Name of the referent.
311                    # More info:
312                    # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
313              },
314              "optional": True or False, # Specify whether the ConfigMap must be defined
315                  # +optional
316            },
317            "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
318                # C_IDENTIFIER. +optional
319          },
320        ],
321        "env": [ # List of environment variables to set in the container.
322            # Cannot be updated.
323            # +optional
324          { # EnvVar represents an environment variable present in a Container.
325            "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
326            "value": "A String", # Variable references $(VAR_NAME) are expanded
327                # using the previous defined environment variables in the container and
328                # any route environment variables. If a variable cannot be resolved,
329                # the reference in the input string will be unchanged. The $(VAR_NAME)
330                # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
331                # references will never be expanded, regardless of whether the variable
332                # exists or not.
333                # Defaults to "".
334                # +optional
335          },
336        ],
337        "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
338            # Cannot be updated.
339            # +optional
340          { # VolumeMount describes a mounting of a Volume within a container.
341            "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
342                # Defaults to false.
343                # +optional
344            "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
345                # to container and the other way around.
346                # When not set, MountPropagationHostToContainer is used.
347                # This field is beta in 1.10.
348                # +optional
349            "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
350                # Defaults to "" (volume's root).
351                # +optional
352            "name": "A String", # This must match the Name of a Volume.
353            "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
354                # not contain ':'.
355          },
356        ],
357        "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
358            # This is an alpha feature and may change in the future.
359            # +optional
360          { # volumeDevice describes a mapping of a raw block device within a container.
361            "devicePath": "A String", # devicePath is the path inside of the container that the device will be
362                # mapped to.
363            "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
364          },
365        ],
366        "args": [ # Arguments to the entrypoint.
367            # The docker image's CMD is used if this is not provided.
368            # Variable references $(VAR_NAME) are expanded using the container's
369            # environment. If a variable cannot be resolved, the reference in the input
370            # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
371            # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
372            # regardless of whether the variable exists or not.
373            # Cannot be updated.
374            # More info:
375            # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
376            # +optional
377          "A String",
378        ],
379        "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
380            # been opened by a single attach. When stdin is true the stdin stream will
381            # remain open across multiple attach sessions. If stdinOnce is set to true,
382            # stdin is opened on container start, is empty until the first client
383            # attaches to stdin, and then remains open and accepts data until the client
384            # disconnects, at which time stdin is closed and remains closed until the
385            # container is restarted. If this flag is false, a container processes that
386            # reads from stdin will never receive an EOF. Default is false +optional
387        "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
388            # contents of terminationMessagePath to populate the container status message
389            # on both success and failure. FallbackToLogsOnError will use the last chunk
390            # of container log output if the termination message file is empty and the
391            # container exited with an error. The log output is limited to 2048 bytes or
392            # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
393            # +optional
394        "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
395            # lifecycle events. Cannot be updated. +optional
396            # response to container lifecycle events. For the PostStart and PreStop
397            # lifecycle handlers, management of the container blocks until the action is
398            # complete, unless the container process fails, in which case the handler is
399            # aborted.
400          "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
401              # The container is terminated after the handler completes.
402              # The reason for termination is passed to the handler.
403              # Regardless of the outcome of the handler, the container is eventually
404              # terminated. Other management of the container blocks until the hook
405              # completes. More info:
406              # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
407              # +optional
408            "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
409                # TCP hooks not yet supported
410              "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
411                  # +optional
412              "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.
413                  # Number must be in the range 1 to 65535.
414                  # Name must be an IANA_SVC_NAME.
415                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
416                  # inner type.  This allows you to have, for example, a JSON field that can
417                  # accept a name or number.
418                "strVal": "A String", # The string value.
419                "type": "A String", # The type of the value.
420                "intVal": 42, # The int value.
421              },
422            },
423            "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
424                # +optional
425              "path": "A String", # Path to access on the HTTP server.
426                  # +optional
427              "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
428                  # "Host" in httpHeaders instead.
429                  # +optional
430              "scheme": "A String", # Scheme to use for connecting to the host.
431                  # Defaults to HTTP.
432                  # +optional
433              "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.
434                  # Number must be in the range 1 to 65535.
435                  # Name must be an IANA_SVC_NAME.
436                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
437                  # inner type.  This allows you to have, for example, a JSON field that can
438                  # accept a name or number.
439                "strVal": "A String", # The string value.
440                "type": "A String", # The type of the value.
441                "intVal": 42, # The int value.
442              },
443              "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
444                  # +optional
445                { # HTTPHeader describes a custom header to be used in HTTP probes
446                  "name": "A String", # The header field name
447                  "value": "A String", # The header field value
448                },
449              ],
450            },
451            "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
452                # Exec specifies the action to take.
453                # +optional
454              "command": "A String", # Command is the command line to execute inside the container, the working
455                  # directory for the command  is root ('/') in the container's filesystem. The
456                  # command is simply exec'd, it is not run inside a shell, so traditional
457                  # shell instructions ('|', etc) won't work. To use a shell, you need to
458                  # explicitly call out to that shell. Exit status of 0 is treated as
459                  # live/healthy and non-zero is unhealthy. +optional
460            },
461          },
462          "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
463              # handler fails, the container is terminated and restarted according to its
464              # restart policy. Other management of the container blocks until the hook
465              # completes. More info:
466              # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
467              # +optional
468            "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
469                # TCP hooks not yet supported
470              "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
471                  # +optional
472              "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.
473                  # Number must be in the range 1 to 65535.
474                  # Name must be an IANA_SVC_NAME.
475                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
476                  # inner type.  This allows you to have, for example, a JSON field that can
477                  # accept a name or number.
478                "strVal": "A String", # The string value.
479                "type": "A String", # The type of the value.
480                "intVal": 42, # The int value.
481              },
482            },
483            "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
484                # +optional
485              "path": "A String", # Path to access on the HTTP server.
486                  # +optional
487              "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
488                  # "Host" in httpHeaders instead.
489                  # +optional
490              "scheme": "A String", # Scheme to use for connecting to the host.
491                  # Defaults to HTTP.
492                  # +optional
493              "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.
494                  # Number must be in the range 1 to 65535.
495                  # Name must be an IANA_SVC_NAME.
496                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
497                  # inner type.  This allows you to have, for example, a JSON field that can
498                  # accept a name or number.
499                "strVal": "A String", # The string value.
500                "type": "A String", # The type of the value.
501                "intVal": 42, # The int value.
502              },
503              "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
504                  # +optional
505                { # HTTPHeader describes a custom header to be used in HTTP probes
506                  "name": "A String", # The header field name
507                  "value": "A String", # The header field value
508                },
509              ],
510            },
511            "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
512                # Exec specifies the action to take.
513                # +optional
514              "command": "A String", # Command is the command line to execute inside the container, the working
515                  # directory for the command  is root ('/') in the container's filesystem. The
516                  # command is simply exec'd, it is not run inside a shell, so traditional
517                  # shell instructions ('|', etc) won't work. To use a shell, you need to
518                  # explicitly call out to that shell. Exit status of 0 is treated as
519                  # live/healthy and non-zero is unhealthy. +optional
520            },
521          },
522        },
523        "command": [ # Entrypoint array. Not executed within a shell.
524            # The docker image's ENTRYPOINT is used if this is not provided.
525            # Variable references $(VAR_NAME) are expanded using the container's
526            # environment. If a variable cannot be resolved, the reference in the input
527            # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
528            # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
529            # regardless of whether the variable exists or not.
530            # Cannot be updated.
531            # More info:
532            # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
533            # +optional
534          "A String",
535        ],
536        "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
537            # Container will be restarted if the probe fails.
538            # Cannot be updated.
539            # More info:
540            # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
541            # +optional
542            # determine whether it is alive or ready to receive traffic.
543          "timeoutSeconds": 42, # Number of seconds after which the probe times out.
544              # Defaults to 1 second. Minimum value is 1.
545              # More info:
546              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
547              # +optional
548          "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
549              # are initiated. More info:
550              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
551              # +optional
552          "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
553            "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
554                # TCP hooks not yet supported
555              "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
556                  # +optional
557              "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.
558                  # Number must be in the range 1 to 65535.
559                  # Name must be an IANA_SVC_NAME.
560                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
561                  # inner type.  This allows you to have, for example, a JSON field that can
562                  # accept a name or number.
563                "strVal": "A String", # The string value.
564                "type": "A String", # The type of the value.
565                "intVal": 42, # The int value.
566              },
567            },
568            "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
569                # +optional
570              "path": "A String", # Path to access on the HTTP server.
571                  # +optional
572              "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
573                  # "Host" in httpHeaders instead.
574                  # +optional
575              "scheme": "A String", # Scheme to use for connecting to the host.
576                  # Defaults to HTTP.
577                  # +optional
578              "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.
579                  # Number must be in the range 1 to 65535.
580                  # Name must be an IANA_SVC_NAME.
581                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
582                  # inner type.  This allows you to have, for example, a JSON field that can
583                  # accept a name or number.
584                "strVal": "A String", # The string value.
585                "type": "A String", # The type of the value.
586                "intVal": 42, # The int value.
587              },
588              "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
589                  # +optional
590                { # HTTPHeader describes a custom header to be used in HTTP probes
591                  "name": "A String", # The header field name
592                  "value": "A String", # The header field value
593                },
594              ],
595            },
596            "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
597                # Exec specifies the action to take.
598                # +optional
599              "command": "A String", # Command is the command line to execute inside the container, the working
600                  # directory for the command  is root ('/') in the container's filesystem. The
601                  # command is simply exec'd, it is not run inside a shell, so traditional
602                  # shell instructions ('|', etc) won't work. To use a shell, you need to
603                  # explicitly call out to that shell. Exit status of 0 is treated as
604                  # live/healthy and non-zero is unhealthy. +optional
605            },
606          },
607          "periodSeconds": 42, # How often (in seconds) to perform the probe.
608              # Default to 10 seconds. Minimum value is 1.
609              # +optional
610          "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
611              # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
612              # is 1. +optional
613          "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
614              # having succeeded. Defaults to 3. Minimum value is 1. +optional
615        },
616        "image": "A String", # Docker image name.
617            # More info: https://kubernetes.io/docs/concepts/containers/images
618        "imagePullPolicy": "A String", # Image pull policy.
619            # One of Always, Never, IfNotPresent.
620            # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
621            # Cannot be updated.
622            # More info:
623            # https://kubernetes.io/docs/concepts/containers/images#updating-images
624            # +optional
625        "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
626            # Container will be removed from service endpoints if the probe fails.
627            # Cannot be updated.
628            # More info:
629            # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
630            # +optional
631            # determine whether it is alive or ready to receive traffic.
632          "timeoutSeconds": 42, # Number of seconds after which the probe times out.
633              # Defaults to 1 second. Minimum value is 1.
634              # More info:
635              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
636              # +optional
637          "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
638              # are initiated. More info:
639              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
640              # +optional
641          "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
642            "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
643                # TCP hooks not yet supported
644              "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
645                  # +optional
646              "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.
647                  # Number must be in the range 1 to 65535.
648                  # Name must be an IANA_SVC_NAME.
649                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
650                  # inner type.  This allows you to have, for example, a JSON field that can
651                  # accept a name or number.
652                "strVal": "A String", # The string value.
653                "type": "A String", # The type of the value.
654                "intVal": 42, # The int value.
655              },
656            },
657            "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
658                # +optional
659              "path": "A String", # Path to access on the HTTP server.
660                  # +optional
661              "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
662                  # "Host" in httpHeaders instead.
663                  # +optional
664              "scheme": "A String", # Scheme to use for connecting to the host.
665                  # Defaults to HTTP.
666                  # +optional
667              "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.
668                  # Number must be in the range 1 to 65535.
669                  # Name must be an IANA_SVC_NAME.
670                  # JSON or YAML marshalling and unmarshalling, it produces or consumes the
671                  # inner type.  This allows you to have, for example, a JSON field that can
672                  # accept a name or number.
673                "strVal": "A String", # The string value.
674                "type": "A String", # The type of the value.
675                "intVal": 42, # The int value.
676              },
677              "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
678                  # +optional
679                { # HTTPHeader describes a custom header to be used in HTTP probes
680                  "name": "A String", # The header field name
681                  "value": "A String", # The header field value
682                },
683              ],
684            },
685            "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
686                # Exec specifies the action to take.
687                # +optional
688              "command": "A String", # Command is the command line to execute inside the container, the working
689                  # directory for the command  is root ('/') in the container's filesystem. The
690                  # command is simply exec'd, it is not run inside a shell, so traditional
691                  # shell instructions ('|', etc) won't work. To use a shell, you need to
692                  # explicitly call out to that shell. Exit status of 0 is treated as
693                  # live/healthy and non-zero is unhealthy. +optional
694            },
695          },
696          "periodSeconds": 42, # How often (in seconds) to perform the probe.
697              # Default to 10 seconds. Minimum value is 1.
698              # +optional
699          "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
700              # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
701              # is 1. +optional
702          "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
703              # having succeeded. Defaults to 3. Minimum value is 1. +optional
704        },
705        "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
706            # message will be written is mounted into the container's filesystem. Message
707            # written is intended to be brief final status, such as an assertion failure
708            # message. Will be truncated by the node if greater than 4096 bytes. The
709            # total message length across all containers will be limited to 12kb.
710            # Defaults to /dev/termination-log.
711            # Cannot be updated.
712            # +optional
713        "ports": [ # List of ports to expose from the container. Exposing a port here gives
714            # the system additional information about the network connections a
715            # container uses, but is primarily informational. Not specifying a port here
716            # DOES NOT prevent that port from being exposed. Any port which is
717            # listening on the default "0.0.0.0" address inside a container will be
718            # accessible from the network.
719            # Cannot be updated.
720            # +optional
721          { # ContainerPort represents a network port in a single container.
722            "protocol": "A String", # Protocol for port. Must be UDP or TCP.
723                # Defaults to "TCP".
724                # +optional
725            "hostIP": "A String", # What host IP to bind the external port to.
726                # +optional
727            "containerPort": 42, # Number of port to expose on the pod's IP address.
728                # This must be a valid port number, 0 < x < 65536.
729            "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
730                # named port in a pod must have a unique name. Name for the port that can be
731                # referred to by services.
732                # +optional
733            "hostPort": 42, # Number of port to expose on the host.
734                # If specified, this must be a valid port number, 0 < x < 65536.
735                # If HostNetwork is specified, this must match ContainerPort.
736                # Most containers do not need this.
737                # +optional
738          },
739        ],
740        "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
741            # Cannot be updated.
742            # More info:
743            # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
744            # +optional
745          "requests": { # Requests describes the minimum amount of compute resources required.
746              # If Requests is omitted for a container, it defaults to Limits if that is
747              # explicitly specified, otherwise to an implementation-defined value.
748              # The values of the map is string form of the 'quantity' k8s type:
749              # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
750            "a_key": "A String",
751          },
752          "requestsInMap": { # Requests describes the minimum amount of compute resources required.
753              # If Requests is omitted for a container, it defaults to Limits if that is
754              # explicitly specified, otherwise to an implementation-defined value.
755              # This is a temporary field created to migrate away from the
756              # map<string, Quantity> requests field. This is done to become compliant
757              # with k8s style API.
758              # This field is deprecated in favor of requests field.
759            "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
760                # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
761              "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
762            },
763          },
764          "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
765              # This is a temporary field created to migrate away from the
766              # map<string, Quantity> limits field. This is done to become compliant
767              # with k8s style API.
768              # This field is deprecated in favor of limits field.
769            "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
770                # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
771              "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
772            },
773          },
774          "limits": { # Limits describes the maximum amount of compute resources allowed.
775              # The values of the map is string form of the 'quantity' k8s type:
776              # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
777            "a_key": "A String",
778          },
779        },
780        "workingDir": "A String", # Container's working directory.
781            # If not specified, the container runtime's default will be used, which
782            # might be configured in the container image.
783            # Cannot be updated.
784            # +optional
785      },
786      "serviceAccountName": "A String", # Not currently used by Cloud Run.
787      "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
788          # responding to a request.
789          # Not currently used by Cloud Run.
790      "servingState": "A String", # ServingState holds a value describing the state the resources
791          # are in for this Revision.
792          # Users must not specify this when creating a revision. It is expected
793          # that the system will manipulate this based on routability and load.
794          #
795          # Populated by the system.
796          # Read-only.
797      "generation": 42, # Deprecated and not currently populated by Cloud Run. See
798          # metadata.generation instead, which is the sequence number containing the
799          # latest generation of the desired state.
800          #
801          # Read-only.
802      "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
803          # (Single or Multi) for the Revision. Defaults to Multi.
804          # Deprecated in favor of ContainerConcurrency.
805          # +optional
806      "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
807          # requests per container of the Revision. Values are:
808          # - `0` thread-safe, the system should manage the max concurrency. This is
809          #    the default value.
810          # - `1` not-thread-safe. Single concurrency
811          # - `2-N` thread-safe, max concurrency of N
812      "volumes": [
813        { # Volume represents a named volume in a container.
814          "configMap": { # Adapts a ConfigMap into a volume.
815              # The contents of the target ConfigMap's Data field will be presented in a
816              # volume as files using the keys in the Data field as the file names, unless
817              # the items element is populated with specific mappings of keys to paths.
818            "items": [ # If unspecified, each key-value pair in the Data field of the referenced
819                # Secret will be projected into the volume as a file whose name is the
820                # key and content is the value. If specified, the listed keys will be
821                # projected into the specified paths, and unlisted keys will not be
822                # present. If a key is specified which is not present in the Secret,
823                # the volume setup will error unless it is marked optional.
824              { # Maps a string key to a path within a volume.
825                "path": "A String", # The relative path of the file to map the key to.
826                    # May not be an absolute path.
827                    # May not contain the path element '..'.
828                    # May not start with the string '..'.
829                "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
830                    # specified, the volume defaultMode will be used. This might be in conflict
831                    # with other options that affect the file mode, like fsGroup, and the result
832                    # can be other mode bits set. +optional
833                "key": "A String", # The key to project.
834              },
835            ],
836            "optional": True or False, # Specify whether the Secret or its keys must be defined.
837            "name": "A String", # Name of the config.
838            "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
839                # 0777. Defaults to 0644. Directories within the path are not affected by
840                # this setting. This might be in conflict with other options that affect the
841                # file mode, like fsGroup, and the result can be other mode bits set.
842          },
843          "secret": { # The contents of the target Secret's Data field will be presented in a volume
844              # as files using the keys in the Data field as the file names.
845            "items": [ # If unspecified, each key-value pair in the Data field of the referenced
846                # Secret will be projected into the volume as a file whose name is the
847                # key and content is the value. If specified, the listed keys will be
848                # projected into the specified paths, and unlisted keys will not be
849                # present. If a key is specified which is not present in the Secret,
850                # the volume setup will error unless it is marked optional.
851              { # Maps a string key to a path within a volume.
852                "path": "A String", # The relative path of the file to map the key to.
853                    # May not be an absolute path.
854                    # May not contain the path element '..'.
855                    # May not start with the string '..'.
856                "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
857                    # specified, the volume defaultMode will be used. This might be in conflict
858                    # with other options that affect the file mode, like fsGroup, and the result
859                    # can be other mode bits set. +optional
860                "key": "A String", # The key to project.
861              },
862            ],
863            "optional": True or False, # Specify whether the Secret or its keys must be defined.
864            "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
865                # 0777. Defaults to 0644. Directories within the path are not affected by
866                # this setting. This might be in conflict with other options that affect the
867                # file mode, like fsGroup, and the result can be other mode bits set.
868            "secretName": "A String", # Name of the secret in the container's namespace to use.
869          },
870          "name": "A String", # Volume's name.
871        },
872      ],
873      "containers": [ # Containers holds the single container that defines the unit of execution
874          # for this Revision. In the context of a Revision, we disallow a number of
875          # fields on this Container, including: name and lifecycle.
876        { # A single application container.
877            # This specifies both the container to run, the command to run in the container
878            # and the arguments to supply to it.
879            # Note that additional arguments may be supplied by the system to the container
880            # at runtime.
881          "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
882              # 'stdin' to be true. Default is false. +optional
883          "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
884              # runtime. If this is not set, reads from stdin in the container will always
885              # result in EOF. Default is false. +optional
886          "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
887              # More info: https://kubernetes.io/docs/concepts/policy/security-context/
888              # More info:
889              # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
890              # +optional
891              # container. Some fields are present in both SecurityContext and
892              # PodSecurityContext.  When both are set, the values in SecurityContext take
893              # precedence.
894            "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
895                # Default is false.
896                # +optional
897            "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
898                # Uses runtime default if unset.
899                # May also be set in PodSecurityContext.  If set in both SecurityContext and
900                # PodSecurityContext, the value specified in SecurityContext takes
901                # precedence. +optional
902            "runAsUser": "A String", # The UID to run the entrypoint of the container process.
903                # Defaults to user specified in image metadata if unspecified.
904                # May also be set in PodSecurityContext.  If set in both SecurityContext and
905                # PodSecurityContext, the value specified in SecurityContext takes
906                # precedence. +optional
907            "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
908                # privileges than its parent process. This bool directly controls if
909                # the no_new_privs flag will be set on the container process.
910                # AllowPrivilegeEscalation is true always when the container is:
911                # 1) run as Privileged
912                # 2) has CAP_SYS_ADMIN
913                # +optional
914            "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
915                # Defaults to the default set of capabilities granted by the container
916                # runtime. +optional
917              "add": [ # Added capabilities
918                  # +optional
919                "A String",
920              ],
921              "drop": [ # Removed capabilities
922                  # +optional
923                "A String",
924              ],
925            },
926            "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
927                # If true, the Kubelet will validate the image at runtime to ensure that it
928                # does not run as UID 0 (root) and fail to start the container if it does.
929                # If unset or false, no such validation will be performed.
930                # May also be set in PodSecurityContext.  If set in both SecurityContext and
931                # PodSecurityContext, the value specified in SecurityContext takes
932                # precedence. +optional
933            "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
934                # If unspecified, the container runtime will allocate a random SELinux
935                # context for each container.  May also be set in PodSecurityContext.  If set
936                # in both SecurityContext and PodSecurityContext, the value specified in
937                # SecurityContext takes precedence. +optional
938              "role": "A String", # Role is a SELinux role label that applies to the container.
939                  # +optional
940              "type": "A String", # Type is a SELinux type label that applies to the container.
941                  # +optional
942              "user": "A String", # User is a SELinux user label that applies to the container.
943                  # +optional
944              "level": "A String", # Level is SELinux level label that applies to the container.
945                  # +optional
946            },
947            "privileged": True or False, # Run container in privileged mode.
948                # Processes in privileged containers are essentially equivalent to root on
949                # the host. Defaults to false. +optional
950          },
951          "name": "A String", # Name of the container specified as a DNS_LABEL.
952              # Each container must have a unique name (DNS_LABEL).
953              # Cannot be updated.
954          "envFrom": [ # List of sources to populate environment variables in the container.
955              # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
956              # will be reported as an event when the container is starting. When a key
957              # exists in multiple sources, the value associated with the last source will
958              # take precedence. Values defined by an Env with a duplicate key will take
959              # precedence. Cannot be updated. +optional
960            { # EnvFromSource represents the source of a set of ConfigMaps
961              "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
962                  # +optional
963                  # variables with.
964                  #
965                  # The contents of the target Secret's Data field will represent the
966                  # key-value pairs as environment variables.
967                "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
968                    # referenced object inside the same namespace.
969                  "name": "A String", # Name of the referent.
970                      # More info:
971                      # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
972                },
973                "optional": True or False, # Specify whether the Secret must be defined
974                    # +optional
975              },
976              "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
977                  # +optional
978                  # variables with.
979                  #
980                  # The contents of the target ConfigMap's Data field will represent the
981                  # key-value pairs as environment variables.
982                "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
983                    # referenced object inside the same namespace.
984                  "name": "A String", # Name of the referent.
985                      # More info:
986                      # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
987                },
988                "optional": True or False, # Specify whether the ConfigMap must be defined
989                    # +optional
990              },
991              "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
992                  # C_IDENTIFIER. +optional
993            },
994          ],
995          "env": [ # List of environment variables to set in the container.
996              # Cannot be updated.
997              # +optional
998            { # EnvVar represents an environment variable present in a Container.
999              "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
1000              "value": "A String", # Variable references $(VAR_NAME) are expanded
1001                  # using the previous defined environment variables in the container and
1002                  # any route environment variables. If a variable cannot be resolved,
1003                  # the reference in the input string will be unchanged. The $(VAR_NAME)
1004                  # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
1005                  # references will never be expanded, regardless of whether the variable
1006                  # exists or not.
1007                  # Defaults to "".
1008                  # +optional
1009            },
1010          ],
1011          "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
1012              # Cannot be updated.
1013              # +optional
1014            { # VolumeMount describes a mounting of a Volume within a container.
1015              "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
1016                  # Defaults to false.
1017                  # +optional
1018              "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
1019                  # to container and the other way around.
1020                  # When not set, MountPropagationHostToContainer is used.
1021                  # This field is beta in 1.10.
1022                  # +optional
1023              "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
1024                  # Defaults to "" (volume's root).
1025                  # +optional
1026              "name": "A String", # This must match the Name of a Volume.
1027              "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
1028                  # not contain ':'.
1029            },
1030          ],
1031          "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
1032              # This is an alpha feature and may change in the future.
1033              # +optional
1034            { # volumeDevice describes a mapping of a raw block device within a container.
1035              "devicePath": "A String", # devicePath is the path inside of the container that the device will be
1036                  # mapped to.
1037              "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
1038            },
1039          ],
1040          "args": [ # Arguments to the entrypoint.
1041              # The docker image's CMD is used if this is not provided.
1042              # Variable references $(VAR_NAME) are expanded using the container's
1043              # environment. If a variable cannot be resolved, the reference in the input
1044              # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1045              # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1046              # regardless of whether the variable exists or not.
1047              # Cannot be updated.
1048              # More info:
1049              # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1050              # +optional
1051            "A String",
1052          ],
1053          "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
1054              # been opened by a single attach. When stdin is true the stdin stream will
1055              # remain open across multiple attach sessions. If stdinOnce is set to true,
1056              # stdin is opened on container start, is empty until the first client
1057              # attaches to stdin, and then remains open and accepts data until the client
1058              # disconnects, at which time stdin is closed and remains closed until the
1059              # container is restarted. If this flag is false, a container processes that
1060              # reads from stdin will never receive an EOF. Default is false +optional
1061          "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
1062              # contents of terminationMessagePath to populate the container status message
1063              # on both success and failure. FallbackToLogsOnError will use the last chunk
1064              # of container log output if the termination message file is empty and the
1065              # container exited with an error. The log output is limited to 2048 bytes or
1066              # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1067              # +optional
1068          "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1069              # lifecycle events. Cannot be updated. +optional
1070              # response to container lifecycle events. For the PostStart and PreStop
1071              # lifecycle handlers, management of the container blocks until the action is
1072              # complete, unless the container process fails, in which case the handler is
1073              # aborted.
1074            "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1075                # The container is terminated after the handler completes.
1076                # The reason for termination is passed to the handler.
1077                # Regardless of the outcome of the handler, the container is eventually
1078                # terminated. Other management of the container blocks until the hook
1079                # completes. More info:
1080                # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1081                # +optional
1082              "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1083                  # TCP hooks not yet supported
1084                "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1085                    # +optional
1086                "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.
1087                    # Number must be in the range 1 to 65535.
1088                    # Name must be an IANA_SVC_NAME.
1089                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1090                    # inner type.  This allows you to have, for example, a JSON field that can
1091                    # accept a name or number.
1092                  "strVal": "A String", # The string value.
1093                  "type": "A String", # The type of the value.
1094                  "intVal": 42, # The int value.
1095                },
1096              },
1097              "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1098                  # +optional
1099                "path": "A String", # Path to access on the HTTP server.
1100                    # +optional
1101                "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1102                    # "Host" in httpHeaders instead.
1103                    # +optional
1104                "scheme": "A String", # Scheme to use for connecting to the host.
1105                    # Defaults to HTTP.
1106                    # +optional
1107                "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.
1108                    # Number must be in the range 1 to 65535.
1109                    # Name must be an IANA_SVC_NAME.
1110                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1111                    # inner type.  This allows you to have, for example, a JSON field that can
1112                    # accept a name or number.
1113                  "strVal": "A String", # The string value.
1114                  "type": "A String", # The type of the value.
1115                  "intVal": 42, # The int value.
1116                },
1117                "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1118                    # +optional
1119                  { # HTTPHeader describes a custom header to be used in HTTP probes
1120                    "name": "A String", # The header field name
1121                    "value": "A String", # The header field value
1122                  },
1123                ],
1124              },
1125              "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1126                  # Exec specifies the action to take.
1127                  # +optional
1128                "command": "A String", # Command is the command line to execute inside the container, the working
1129                    # directory for the command  is root ('/') in the container's filesystem. The
1130                    # command is simply exec'd, it is not run inside a shell, so traditional
1131                    # shell instructions ('|', etc) won't work. To use a shell, you need to
1132                    # explicitly call out to that shell. Exit status of 0 is treated as
1133                    # live/healthy and non-zero is unhealthy. +optional
1134              },
1135            },
1136            "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1137                # handler fails, the container is terminated and restarted according to its
1138                # restart policy. Other management of the container blocks until the hook
1139                # completes. More info:
1140                # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1141                # +optional
1142              "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1143                  # TCP hooks not yet supported
1144                "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1145                    # +optional
1146                "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.
1147                    # Number must be in the range 1 to 65535.
1148                    # Name must be an IANA_SVC_NAME.
1149                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1150                    # inner type.  This allows you to have, for example, a JSON field that can
1151                    # accept a name or number.
1152                  "strVal": "A String", # The string value.
1153                  "type": "A String", # The type of the value.
1154                  "intVal": 42, # The int value.
1155                },
1156              },
1157              "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1158                  # +optional
1159                "path": "A String", # Path to access on the HTTP server.
1160                    # +optional
1161                "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1162                    # "Host" in httpHeaders instead.
1163                    # +optional
1164                "scheme": "A String", # Scheme to use for connecting to the host.
1165                    # Defaults to HTTP.
1166                    # +optional
1167                "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.
1168                    # Number must be in the range 1 to 65535.
1169                    # Name must be an IANA_SVC_NAME.
1170                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1171                    # inner type.  This allows you to have, for example, a JSON field that can
1172                    # accept a name or number.
1173                  "strVal": "A String", # The string value.
1174                  "type": "A String", # The type of the value.
1175                  "intVal": 42, # The int value.
1176                },
1177                "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1178                    # +optional
1179                  { # HTTPHeader describes a custom header to be used in HTTP probes
1180                    "name": "A String", # The header field name
1181                    "value": "A String", # The header field value
1182                  },
1183                ],
1184              },
1185              "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1186                  # Exec specifies the action to take.
1187                  # +optional
1188                "command": "A String", # Command is the command line to execute inside the container, the working
1189                    # directory for the command  is root ('/') in the container's filesystem. The
1190                    # command is simply exec'd, it is not run inside a shell, so traditional
1191                    # shell instructions ('|', etc) won't work. To use a shell, you need to
1192                    # explicitly call out to that shell. Exit status of 0 is treated as
1193                    # live/healthy and non-zero is unhealthy. +optional
1194              },
1195            },
1196          },
1197          "command": [ # Entrypoint array. Not executed within a shell.
1198              # The docker image's ENTRYPOINT is used if this is not provided.
1199              # Variable references $(VAR_NAME) are expanded using the container's
1200              # environment. If a variable cannot be resolved, the reference in the input
1201              # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1202              # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1203              # regardless of whether the variable exists or not.
1204              # Cannot be updated.
1205              # More info:
1206              # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1207              # +optional
1208            "A String",
1209          ],
1210          "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
1211              # Container will be restarted if the probe fails.
1212              # Cannot be updated.
1213              # More info:
1214              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1215              # +optional
1216              # determine whether it is alive or ready to receive traffic.
1217            "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1218                # Defaults to 1 second. Minimum value is 1.
1219                # More info:
1220                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1221                # +optional
1222            "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1223                # are initiated. More info:
1224                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1225                # +optional
1226            "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1227              "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1228                  # TCP hooks not yet supported
1229                "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1230                    # +optional
1231                "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.
1232                    # Number must be in the range 1 to 65535.
1233                    # Name must be an IANA_SVC_NAME.
1234                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1235                    # inner type.  This allows you to have, for example, a JSON field that can
1236                    # accept a name or number.
1237                  "strVal": "A String", # The string value.
1238                  "type": "A String", # The type of the value.
1239                  "intVal": 42, # The int value.
1240                },
1241              },
1242              "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1243                  # +optional
1244                "path": "A String", # Path to access on the HTTP server.
1245                    # +optional
1246                "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1247                    # "Host" in httpHeaders instead.
1248                    # +optional
1249                "scheme": "A String", # Scheme to use for connecting to the host.
1250                    # Defaults to HTTP.
1251                    # +optional
1252                "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.
1253                    # Number must be in the range 1 to 65535.
1254                    # Name must be an IANA_SVC_NAME.
1255                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1256                    # inner type.  This allows you to have, for example, a JSON field that can
1257                    # accept a name or number.
1258                  "strVal": "A String", # The string value.
1259                  "type": "A String", # The type of the value.
1260                  "intVal": 42, # The int value.
1261                },
1262                "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1263                    # +optional
1264                  { # HTTPHeader describes a custom header to be used in HTTP probes
1265                    "name": "A String", # The header field name
1266                    "value": "A String", # The header field value
1267                  },
1268                ],
1269              },
1270              "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1271                  # Exec specifies the action to take.
1272                  # +optional
1273                "command": "A String", # Command is the command line to execute inside the container, the working
1274                    # directory for the command  is root ('/') in the container's filesystem. The
1275                    # command is simply exec'd, it is not run inside a shell, so traditional
1276                    # shell instructions ('|', etc) won't work. To use a shell, you need to
1277                    # explicitly call out to that shell. Exit status of 0 is treated as
1278                    # live/healthy and non-zero is unhealthy. +optional
1279              },
1280            },
1281            "periodSeconds": 42, # How often (in seconds) to perform the probe.
1282                # Default to 10 seconds. Minimum value is 1.
1283                # +optional
1284            "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1285                # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1286                # is 1. +optional
1287            "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1288                # having succeeded. Defaults to 3. Minimum value is 1. +optional
1289          },
1290          "image": "A String", # Docker image name.
1291              # More info: https://kubernetes.io/docs/concepts/containers/images
1292          "imagePullPolicy": "A String", # Image pull policy.
1293              # One of Always, Never, IfNotPresent.
1294              # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
1295              # Cannot be updated.
1296              # More info:
1297              # https://kubernetes.io/docs/concepts/containers/images#updating-images
1298              # +optional
1299          "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
1300              # Container will be removed from service endpoints if the probe fails.
1301              # Cannot be updated.
1302              # More info:
1303              # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1304              # +optional
1305              # determine whether it is alive or ready to receive traffic.
1306            "timeoutSeconds": 42, # Number of seconds after which the probe times out.
1307                # Defaults to 1 second. Minimum value is 1.
1308                # More info:
1309                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1310                # +optional
1311            "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
1312                # are initiated. More info:
1313                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1314                # +optional
1315            "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1316              "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1317                  # TCP hooks not yet supported
1318                "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1319                    # +optional
1320                "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.
1321                    # Number must be in the range 1 to 65535.
1322                    # Name must be an IANA_SVC_NAME.
1323                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1324                    # inner type.  This allows you to have, for example, a JSON field that can
1325                    # accept a name or number.
1326                  "strVal": "A String", # The string value.
1327                  "type": "A String", # The type of the value.
1328                  "intVal": 42, # The int value.
1329                },
1330              },
1331              "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1332                  # +optional
1333                "path": "A String", # Path to access on the HTTP server.
1334                    # +optional
1335                "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1336                    # "Host" in httpHeaders instead.
1337                    # +optional
1338                "scheme": "A String", # Scheme to use for connecting to the host.
1339                    # Defaults to HTTP.
1340                    # +optional
1341                "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.
1342                    # Number must be in the range 1 to 65535.
1343                    # Name must be an IANA_SVC_NAME.
1344                    # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1345                    # inner type.  This allows you to have, for example, a JSON field that can
1346                    # accept a name or number.
1347                  "strVal": "A String", # The string value.
1348                  "type": "A String", # The type of the value.
1349                  "intVal": 42, # The int value.
1350                },
1351                "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1352                    # +optional
1353                  { # HTTPHeader describes a custom header to be used in HTTP probes
1354                    "name": "A String", # The header field name
1355                    "value": "A String", # The header field value
1356                  },
1357                ],
1358              },
1359              "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1360                  # Exec specifies the action to take.
1361                  # +optional
1362                "command": "A String", # Command is the command line to execute inside the container, the working
1363                    # directory for the command  is root ('/') in the container's filesystem. The
1364                    # command is simply exec'd, it is not run inside a shell, so traditional
1365                    # shell instructions ('|', etc) won't work. To use a shell, you need to
1366                    # explicitly call out to that shell. Exit status of 0 is treated as
1367                    # live/healthy and non-zero is unhealthy. +optional
1368              },
1369            },
1370            "periodSeconds": 42, # How often (in seconds) to perform the probe.
1371                # Default to 10 seconds. Minimum value is 1.
1372                # +optional
1373            "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
1374                # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1375                # is 1. +optional
1376            "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
1377                # having succeeded. Defaults to 3. Minimum value is 1. +optional
1378          },
1379          "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
1380              # message will be written is mounted into the container's filesystem. Message
1381              # written is intended to be brief final status, such as an assertion failure
1382              # message. Will be truncated by the node if greater than 4096 bytes. The
1383              # total message length across all containers will be limited to 12kb.
1384              # Defaults to /dev/termination-log.
1385              # Cannot be updated.
1386              # +optional
1387          "ports": [ # List of ports to expose from the container. Exposing a port here gives
1388              # the system additional information about the network connections a
1389              # container uses, but is primarily informational. Not specifying a port here
1390              # DOES NOT prevent that port from being exposed. Any port which is
1391              # listening on the default "0.0.0.0" address inside a container will be
1392              # accessible from the network.
1393              # Cannot be updated.
1394              # +optional
1395            { # ContainerPort represents a network port in a single container.
1396              "protocol": "A String", # Protocol for port. Must be UDP or TCP.
1397                  # Defaults to "TCP".
1398                  # +optional
1399              "hostIP": "A String", # What host IP to bind the external port to.
1400                  # +optional
1401              "containerPort": 42, # Number of port to expose on the pod's IP address.
1402                  # This must be a valid port number, 0 < x < 65536.
1403              "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
1404                  # named port in a pod must have a unique name. Name for the port that can be
1405                  # referred to by services.
1406                  # +optional
1407              "hostPort": 42, # Number of port to expose on the host.
1408                  # If specified, this must be a valid port number, 0 < x < 65536.
1409                  # If HostNetwork is specified, this must match ContainerPort.
1410                  # Most containers do not need this.
1411                  # +optional
1412            },
1413          ],
1414          "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
1415              # Cannot be updated.
1416              # More info:
1417              # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
1418              # +optional
1419            "requests": { # Requests describes the minimum amount of compute resources required.
1420                # If Requests is omitted for a container, it defaults to Limits if that is
1421                # explicitly specified, otherwise to an implementation-defined value.
1422                # The values of the map is string form of the 'quantity' k8s type:
1423                # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1424              "a_key": "A String",
1425            },
1426            "requestsInMap": { # Requests describes the minimum amount of compute resources required.
1427                # If Requests is omitted for a container, it defaults to Limits if that is
1428                # explicitly specified, otherwise to an implementation-defined value.
1429                # This is a temporary field created to migrate away from the
1430                # map<string, Quantity> requests field. This is done to become compliant
1431                # with k8s style API.
1432                # This field is deprecated in favor of requests field.
1433              "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1434                  # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1435                "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1436              },
1437            },
1438            "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
1439                # This is a temporary field created to migrate away from the
1440                # map<string, Quantity> limits field. This is done to become compliant
1441                # with k8s style API.
1442                # This field is deprecated in favor of limits field.
1443              "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
1444                  # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1445                "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
1446              },
1447            },
1448            "limits": { # Limits describes the maximum amount of compute resources allowed.
1449                # The values of the map is string form of the 'quantity' k8s type:
1450                # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1451              "a_key": "A String",
1452            },
1453          },
1454          "workingDir": "A String", # Container's working directory.
1455              # If not specified, the container runtime's default will be used, which
1456              # might be configured in the container image.
1457              # Cannot be updated.
1458              # +optional
1459        },
1460      ],
1461    },
1462    "apiVersion": "A String", # The API version for this call such as "v1alpha1".
1463    "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Revision, including name, namespace, labels,
1464        # and annotations.
1465        # all objects users must create.
1466      "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
1467          # been deleted, this object will be garbage collected.
1468          # +optional
1469        { # OwnerReference contains enough information to let you identify an owning
1470            # object. Currently, an owning object must be in the same namespace, so there
1471            # is no namespace field.
1472          "kind": "A String", # Kind of the referent.
1473              # More info:
1474              # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
1475          "uid": "A String", # UID of the referent.
1476              # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1477          "apiVersion": "A String", # API version of the referent.
1478          "controller": True or False, # If true, this reference points to the managing controller.
1479              # +optional
1480          "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
1481              # the owner cannot be deleted from the key-value store until this
1482              # reference is removed.
1483              # Defaults to false.
1484              # To set this field, a user needs "delete" permission of the owner,
1485              # otherwise 422 (Unprocessable Entity) will be returned.
1486              # +optional
1487          "name": "A String", # Name of the referent.
1488              # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1489        },
1490      ],
1491      "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
1492          # Is required when creating
1493          # resources, although some resources may allow a client to request the
1494          # generation of an appropriate name automatically. Name is primarily intended
1495          # for creation idempotence and configuration definition. Cannot be updated.
1496          # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1497          # +optional
1498      "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
1499          # deleted. This field is set by the server when a graceful deletion is
1500          # requested by the user, and is not directly settable by a client. The
1501          # resource is expected to be deleted (no longer visible from resource lists,
1502          # and not reachable by name) after the time in this field, once the
1503          # finalizers list is empty. As long as the finalizers list contains items,
1504          # deletion is blocked. Once the deletionTimestamp is set, this value may not
1505          # be unset or be set further into the future, although it may be shortened or
1506          # the resource may be deleted prior to this time. For example, a user may
1507          # request that a pod is deleted in 30 seconds. The Kubelet will react by
1508          # sending a graceful termination signal to the containers in the pod. After
1509          # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
1510          # to the container and after cleanup, remove the pod from the API. In the
1511          # presence of network partitions, this object may still exist after this
1512          # timestamp, until an administrator or automated process can determine the
1513          # resource is fully terminated.
1514          # If not set, graceful deletion of the object has not been requested.
1515          #
1516          # Populated by the system when a graceful deletion is requested.
1517          # Read-only.
1518          # More info:
1519          # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1520          # +optional
1521      "clusterName": "A String", # Not currently supported by Cloud Run.
1522          #
1523          # The name of the cluster which the object belongs to.
1524          # This is used to distinguish resources with same name and namespace in
1525          # different clusters. This field is not set anywhere right now and apiserver
1526          # is going to ignore it if set in create or update request. +optional
1527      "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
1528          #
1529          # Number of seconds allowed for this object to gracefully terminate before
1530          # it will be removed from the system. Only set when deletionTimestamp is also
1531          # set. May only be shortened. Read-only. +optional
1532      "labels": { # Map of string keys and values that can be used to organize and categorize
1533          # (scope and select) objects. May match selectors of replication controllers
1534          # and routes.
1535          # More info: http://kubernetes.io/docs/user-guide/labels
1536          # +optional
1537        "a_key": "A String",
1538      },
1539      "namespace": "A String", # Namespace defines the space within each name must be unique, within a
1540          # Cloud Run region. In Cloud Run the namespace must be equal to either the
1541          # project ID or project number.
1542      "generation": 42, # A sequence number representing a specific generation of the desired state.
1543          # Populated by the system. Read-only.
1544          # +optional
1545      "finalizers": [ # Not currently supported by Cloud Run.
1546          #
1547          # Must be empty before the object is deleted from the registry. Each entry
1548          # is an identifier for the responsible component that will remove the entry
1549          # from the list. If the deletionTimestamp of the object is non-nil, entries
1550          # in this list can only be removed.
1551          # +optional
1552          # +patchStrategy=merge
1553        "A String",
1554      ],
1555      "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
1556          #
1557          # An initializer is a controller which enforces some system invariant at
1558          # object creation time. This field is a list of initializers that have not
1559          # yet acted on this object. If nil or empty, this object has been completely
1560          # initialized. Otherwise, the object is considered uninitialized and is
1561          # hidden (in list/watch and get calls) from clients that haven't explicitly
1562          # asked to observe uninitialized objects.
1563          #
1564          # When an object is created, the system will populate this list with the
1565          # current set of initializers. Only privileged users may set or modify this
1566          # list. Once it is empty, it may not be modified further by any user.
1567        "pending": [ # Pending is a list of initializers that must execute in order before this
1568            # object is visible. When the last pending initializer is removed, and no
1569            # failing result is set, the initializers struct will be set to nil and the
1570            # object is considered as initialized and visible to all clients.
1571            # +patchMergeKey=name
1572            # +patchStrategy=merge
1573          { # Initializer is information about an initializer that has not yet completed.
1574            "name": "A String", # name of the process that is responsible for initializing this object.
1575          },
1576        ],
1577      },
1578      "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
1579          # can be used by clients to determine when objects have changed. May be used
1580          # for optimistic concurrency, change detection, and the watch operation on a
1581          # resource or set of resources. Clients must treat these values as opaque and
1582          # passed unmodified back to the server. They may only be valid for a
1583          # particular resource or set of resources.
1584          #
1585          # Populated by the system.
1586          # Read-only.
1587          # Value must be treated as opaque by clients and .
1588          # More info:
1589          # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
1590          # +optional
1591      "generateName": "A String", # Not currently supported by Cloud Run.
1592          #
1593          # GenerateName is an optional prefix, used by the server, to generate a
1594          # unique name ONLY IF the Name field has not been provided. If this field is
1595          # used, the name returned to the client will be different than the name
1596          # passed. This value will also be combined with a unique suffix. The provided
1597          # value has the same validation rules as the Name field, and may be truncated
1598          # by the length of the suffix required to make the value unique on the
1599          # server.
1600          #
1601          # If this field is specified and the generated name exists, the server will
1602          # NOT return a 409 - instead, it will either return 201 Created or 500 with
1603          # Reason ServerTimeout indicating a unique name could not be found in the
1604          # time allotted, and the client should retry (optionally after the time
1605          # indicated in the Retry-After header).
1606          #
1607          # Applied only if Name is not specified.
1608          # More info:
1609          # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
1610          # +optional
1611          #  string generateName = 2;
1612      "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
1613          # object was created. It is not guaranteed to be set in happens-before order
1614          # across separate operations. Clients may not set this value. It is
1615          # represented in RFC3339 form and is in UTC.
1616          #
1617          # Populated by the system.
1618          # Read-only.
1619          # Null for lists.
1620          # More info:
1621          # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1622          # +optional
1623      "annotations": { # Annotations is an unstructured key value map stored with a resource that
1624          # may be set by external tools to store and retrieve arbitrary metadata. They
1625          # are not queryable and should be preserved when modifying objects. More
1626          # info: http://kubernetes.io/docs/user-guide/annotations +optional
1627        "a_key": "A String",
1628      },
1629      "selfLink": "A String", # SelfLink is a URL representing this object.
1630          # Populated by the system.
1631          # Read-only.
1632          # +optional
1633          #  string selfLink = 4;
1634      "uid": "A String", # UID is the unique in time and space value for this object. It is typically
1635          # generated by the server on successful creation of a resource and is not
1636          # allowed to change on PUT operations.
1637          #
1638          # Populated by the system.
1639          # Read-only.
1640          # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1641          # +optional
1642    },
1643  }</pre>
1644</div>
1645
1646<div class="method">
1647    <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>
1648  <pre>Rpc to list revisions.
1649
1650Args:
1651  parent: string, The project ID or project number from which the revisions should be listed. (required)
1652  labelSelector: string, Allows to filter resources based on a label. Supported operations are
1653=, !=, exists, in, and notIn.
1654  includeUninitialized: boolean, Not currently used by Cloud Run.
1655  x__xgafv: string, V1 error format.
1656    Allowed values
1657      1 - v1 error format
1658      2 - v2 error format
1659  resourceVersion: string, The baseline resource version from which the list or watch operation should
1660start. Not currently used by Cloud Run.
1661  limit: integer, The maximum number of records that should be returned.
1662  watch: boolean, Flag that indicates that the client expects to watch this resource as well.
1663Not currently used by Cloud Run.
1664  continue: string, Optional encoded string to continue paging.
1665  fieldSelector: string, Allows to filter resources based on a specific value for a field name.
1666Send this in a query string format. i.e. 'metadata.name%3Dlorem'.
1667Not currently used by Cloud Run.
1668
1669Returns:
1670  An object of the form:
1671
1672    { # ListRevisionsResponse is a list of Revision resources.
1673    "items": [ # List of Revisions.
1674      { # Revision is an immutable snapshot of code and configuration.  A revision
1675          # references a container image. Revisions are created by updates to a
1676          # Configuration.
1677          #
1678          # Cloud Run does not currently support referencing a build that is responsible
1679          # for materializing the container image from source.
1680          #
1681          # See also:
1682          # https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
1683        "status": { # RevisionStatus communicates the observed state of the Revision (from the # Status communicates the observed state of the Revision (from the
1684            # controller).
1685            # controller).
1686          "observedGeneration": 42, # ObservedGeneration is the 'Generation' of the Revision that
1687              # was last processed by the controller.
1688              #
1689              # Clients polling for completed reconciliation should poll until
1690              # observedGeneration = metadata.generation, and the Ready condition's status
1691              # is True or False.
1692          "imageDigest": "A String", # ImageDigest holds the resolved digest for the image specified
1693              # within .Spec.Container.Image. The digest is resolved during the creation
1694              # of Revision. This field holds the digest value regardless of whether
1695              # a tag or digest was originally specified in the Container object.
1696          "serviceName": "A String", # Not currently used by Cloud Run.
1697          "conditions": [ # Conditions communicates information about ongoing/complete
1698              # reconciliation processes that bring the "spec" inline with the observed
1699              # state of the world.
1700              #
1701              # As a Revision is being prepared, it will incrementally
1702              # update conditions "ResourcesAvailable", "ContainerHealthy", and "Active",
1703              # which contribute to the overall "Ready" condition.
1704            { # RevisionCondition defines a readiness condition for a Revision.
1705              "status": "A String", # Status of the condition, one of True, False, Unknown.
1706              "severity": "A String", # How to interpret failures of this condition, one of Error, Warning, Info
1707                  # +optional
1708              "lastTransitionTime": "A String", # Last time the condition transitioned from one status to another.
1709                  # +optional
1710              "reason": "A String", # One-word CamelCase reason for the condition's last transition.
1711                  # +optional
1712              "message": "A String", # Human readable message indicating details about the current status.
1713                  # +optional
1714              "type": "A String", # RevisionConditionType is used to communicate the status of the
1715                  # reconciliation process. See also:
1716                  # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
1717                  # Types include:
1718                  #
1719                  # * "Ready": True when the Revision is ready.
1720                  # * "ResourcesAvailable": True when underlying resources have been
1721                  # provisioned.
1722                  # * "ContainerHealthy": True when the Revision readiness check completes.
1723                  # * "Active": True when the Revision may receive traffic.
1724            },
1725          ],
1726          "logUrl": "A String", # Specifies the generated logging url for this particular revision
1727              # based on the revision url template specified in the controller's config.
1728              # +optional
1729        },
1730        "kind": "A String", # The kind of this resource, in this case "Revision".
1731        "spec": { # RevisionSpec holds the desired state of the Revision (from the client). # Spec holds the desired state of the Revision (from the client).
1732          "container": { # A single application container. # Container defines the unit of execution for this Revision.
1733              # In the context of a Revision, we disallow a number of the fields of
1734              # this Container, including: name, ports, and volumeMounts.
1735              # The runtime contract is documented here:
1736              # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
1737              # This specifies both the container to run, the command to run in the container
1738              # and the arguments to supply to it.
1739              # Note that additional arguments may be supplied by the system to the container
1740              # at runtime.
1741            "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
1742                # 'stdin' to be true. Default is false. +optional
1743            "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
1744                # runtime. If this is not set, reads from stdin in the container will always
1745                # result in EOF. Default is false. +optional
1746            "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
1747                # More info: https://kubernetes.io/docs/concepts/policy/security-context/
1748                # More info:
1749                # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1750                # +optional
1751                # container. Some fields are present in both SecurityContext and
1752                # PodSecurityContext.  When both are set, the values in SecurityContext take
1753                # precedence.
1754              "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
1755                  # Default is false.
1756                  # +optional
1757              "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
1758                  # Uses runtime default if unset.
1759                  # May also be set in PodSecurityContext.  If set in both SecurityContext and
1760                  # PodSecurityContext, the value specified in SecurityContext takes
1761                  # precedence. +optional
1762              "runAsUser": "A String", # The UID to run the entrypoint of the container process.
1763                  # Defaults to user specified in image metadata if unspecified.
1764                  # May also be set in PodSecurityContext.  If set in both SecurityContext and
1765                  # PodSecurityContext, the value specified in SecurityContext takes
1766                  # precedence. +optional
1767              "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
1768                  # privileges than its parent process. This bool directly controls if
1769                  # the no_new_privs flag will be set on the container process.
1770                  # AllowPrivilegeEscalation is true always when the container is:
1771                  # 1) run as Privileged
1772                  # 2) has CAP_SYS_ADMIN
1773                  # +optional
1774              "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
1775                  # Defaults to the default set of capabilities granted by the container
1776                  # runtime. +optional
1777                "add": [ # Added capabilities
1778                    # +optional
1779                  "A String",
1780                ],
1781                "drop": [ # Removed capabilities
1782                    # +optional
1783                  "A String",
1784                ],
1785              },
1786              "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
1787                  # If true, the Kubelet will validate the image at runtime to ensure that it
1788                  # does not run as UID 0 (root) and fail to start the container if it does.
1789                  # If unset or false, no such validation will be performed.
1790                  # May also be set in PodSecurityContext.  If set in both SecurityContext and
1791                  # PodSecurityContext, the value specified in SecurityContext takes
1792                  # precedence. +optional
1793              "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
1794                  # If unspecified, the container runtime will allocate a random SELinux
1795                  # context for each container.  May also be set in PodSecurityContext.  If set
1796                  # in both SecurityContext and PodSecurityContext, the value specified in
1797                  # SecurityContext takes precedence. +optional
1798                "role": "A String", # Role is a SELinux role label that applies to the container.
1799                    # +optional
1800                "type": "A String", # Type is a SELinux type label that applies to the container.
1801                    # +optional
1802                "user": "A String", # User is a SELinux user label that applies to the container.
1803                    # +optional
1804                "level": "A String", # Level is SELinux level label that applies to the container.
1805                    # +optional
1806              },
1807              "privileged": True or False, # Run container in privileged mode.
1808                  # Processes in privileged containers are essentially equivalent to root on
1809                  # the host. Defaults to false. +optional
1810            },
1811            "name": "A String", # Name of the container specified as a DNS_LABEL.
1812                # Each container must have a unique name (DNS_LABEL).
1813                # Cannot be updated.
1814            "envFrom": [ # List of sources to populate environment variables in the container.
1815                # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
1816                # will be reported as an event when the container is starting. When a key
1817                # exists in multiple sources, the value associated with the last source will
1818                # take precedence. Values defined by an Env with a duplicate key will take
1819                # precedence. Cannot be updated. +optional
1820              { # EnvFromSource represents the source of a set of ConfigMaps
1821                "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
1822                    # +optional
1823                    # variables with.
1824                    #
1825                    # The contents of the target Secret's Data field will represent the
1826                    # key-value pairs as environment variables.
1827                  "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
1828                      # referenced object inside the same namespace.
1829                    "name": "A String", # Name of the referent.
1830                        # More info:
1831                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1832                  },
1833                  "optional": True or False, # Specify whether the Secret must be defined
1834                      # +optional
1835                },
1836                "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
1837                    # +optional
1838                    # variables with.
1839                    #
1840                    # The contents of the target ConfigMap's Data field will represent the
1841                    # key-value pairs as environment variables.
1842                  "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
1843                      # referenced object inside the same namespace.
1844                    "name": "A String", # Name of the referent.
1845                        # More info:
1846                        # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1847                  },
1848                  "optional": True or False, # Specify whether the ConfigMap must be defined
1849                      # +optional
1850                },
1851                "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
1852                    # C_IDENTIFIER. +optional
1853              },
1854            ],
1855            "env": [ # List of environment variables to set in the container.
1856                # Cannot be updated.
1857                # +optional
1858              { # EnvVar represents an environment variable present in a Container.
1859                "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
1860                "value": "A String", # Variable references $(VAR_NAME) are expanded
1861                    # using the previous defined environment variables in the container and
1862                    # any route environment variables. If a variable cannot be resolved,
1863                    # the reference in the input string will be unchanged. The $(VAR_NAME)
1864                    # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
1865                    # references will never be expanded, regardless of whether the variable
1866                    # exists or not.
1867                    # Defaults to "".
1868                    # +optional
1869              },
1870            ],
1871            "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
1872                # Cannot be updated.
1873                # +optional
1874              { # VolumeMount describes a mounting of a Volume within a container.
1875                "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
1876                    # Defaults to false.
1877                    # +optional
1878                "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
1879                    # to container and the other way around.
1880                    # When not set, MountPropagationHostToContainer is used.
1881                    # This field is beta in 1.10.
1882                    # +optional
1883                "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
1884                    # Defaults to "" (volume's root).
1885                    # +optional
1886                "name": "A String", # This must match the Name of a Volume.
1887                "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
1888                    # not contain ':'.
1889              },
1890            ],
1891            "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
1892                # This is an alpha feature and may change in the future.
1893                # +optional
1894              { # volumeDevice describes a mapping of a raw block device within a container.
1895                "devicePath": "A String", # devicePath is the path inside of the container that the device will be
1896                    # mapped to.
1897                "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
1898              },
1899            ],
1900            "args": [ # Arguments to the entrypoint.
1901                # The docker image's CMD is used if this is not provided.
1902                # Variable references $(VAR_NAME) are expanded using the container's
1903                # environment. If a variable cannot be resolved, the reference in the input
1904                # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1905                # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1906                # regardless of whether the variable exists or not.
1907                # Cannot be updated.
1908                # More info:
1909                # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1910                # +optional
1911              "A String",
1912            ],
1913            "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
1914                # been opened by a single attach. When stdin is true the stdin stream will
1915                # remain open across multiple attach sessions. If stdinOnce is set to true,
1916                # stdin is opened on container start, is empty until the first client
1917                # attaches to stdin, and then remains open and accepts data until the client
1918                # disconnects, at which time stdin is closed and remains closed until the
1919                # container is restarted. If this flag is false, a container processes that
1920                # reads from stdin will never receive an EOF. Default is false +optional
1921            "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
1922                # contents of terminationMessagePath to populate the container status message
1923                # on both success and failure. FallbackToLogsOnError will use the last chunk
1924                # of container log output if the termination message file is empty and the
1925                # container exited with an error. The log output is limited to 2048 bytes or
1926                # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1927                # +optional
1928            "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1929                # lifecycle events. Cannot be updated. +optional
1930                # response to container lifecycle events. For the PostStart and PreStop
1931                # lifecycle handlers, management of the container blocks until the action is
1932                # complete, unless the container process fails, in which case the handler is
1933                # aborted.
1934              "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1935                  # The container is terminated after the handler completes.
1936                  # The reason for termination is passed to the handler.
1937                  # Regardless of the outcome of the handler, the container is eventually
1938                  # terminated. Other management of the container blocks until the hook
1939                  # completes. More info:
1940                  # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1941                  # +optional
1942                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1943                    # TCP hooks not yet supported
1944                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
1945                      # +optional
1946                  "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.
1947                      # Number must be in the range 1 to 65535.
1948                      # Name must be an IANA_SVC_NAME.
1949                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1950                      # inner type.  This allows you to have, for example, a JSON field that can
1951                      # accept a name or number.
1952                    "strVal": "A String", # The string value.
1953                    "type": "A String", # The type of the value.
1954                    "intVal": 42, # The int value.
1955                  },
1956                },
1957                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1958                    # +optional
1959                  "path": "A String", # Path to access on the HTTP server.
1960                      # +optional
1961                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
1962                      # "Host" in httpHeaders instead.
1963                      # +optional
1964                  "scheme": "A String", # Scheme to use for connecting to the host.
1965                      # Defaults to HTTP.
1966                      # +optional
1967                  "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.
1968                      # Number must be in the range 1 to 65535.
1969                      # Name must be an IANA_SVC_NAME.
1970                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1971                      # inner type.  This allows you to have, for example, a JSON field that can
1972                      # accept a name or number.
1973                    "strVal": "A String", # The string value.
1974                    "type": "A String", # The type of the value.
1975                    "intVal": 42, # The int value.
1976                  },
1977                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
1978                      # +optional
1979                    { # HTTPHeader describes a custom header to be used in HTTP probes
1980                      "name": "A String", # The header field name
1981                      "value": "A String", # The header field value
1982                    },
1983                  ],
1984                },
1985                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
1986                    # Exec specifies the action to take.
1987                    # +optional
1988                  "command": "A String", # Command is the command line to execute inside the container, the working
1989                      # directory for the command  is root ('/') in the container's filesystem. The
1990                      # command is simply exec'd, it is not run inside a shell, so traditional
1991                      # shell instructions ('|', etc) won't work. To use a shell, you need to
1992                      # explicitly call out to that shell. Exit status of 0 is treated as
1993                      # live/healthy and non-zero is unhealthy. +optional
1994                },
1995              },
1996              "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1997                  # handler fails, the container is terminated and restarted according to its
1998                  # restart policy. Other management of the container blocks until the hook
1999                  # completes. More info:
2000                  # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2001                  # +optional
2002                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2003                    # TCP hooks not yet supported
2004                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2005                      # +optional
2006                  "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.
2007                      # Number must be in the range 1 to 65535.
2008                      # Name must be an IANA_SVC_NAME.
2009                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2010                      # inner type.  This allows you to have, for example, a JSON field that can
2011                      # accept a name or number.
2012                    "strVal": "A String", # The string value.
2013                    "type": "A String", # The type of the value.
2014                    "intVal": 42, # The int value.
2015                  },
2016                },
2017                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2018                    # +optional
2019                  "path": "A String", # Path to access on the HTTP server.
2020                      # +optional
2021                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2022                      # "Host" in httpHeaders instead.
2023                      # +optional
2024                  "scheme": "A String", # Scheme to use for connecting to the host.
2025                      # Defaults to HTTP.
2026                      # +optional
2027                  "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.
2028                      # Number must be in the range 1 to 65535.
2029                      # Name must be an IANA_SVC_NAME.
2030                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2031                      # inner type.  This allows you to have, for example, a JSON field that can
2032                      # accept a name or number.
2033                    "strVal": "A String", # The string value.
2034                    "type": "A String", # The type of the value.
2035                    "intVal": 42, # The int value.
2036                  },
2037                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2038                      # +optional
2039                    { # HTTPHeader describes a custom header to be used in HTTP probes
2040                      "name": "A String", # The header field name
2041                      "value": "A String", # The header field value
2042                    },
2043                  ],
2044                },
2045                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2046                    # Exec specifies the action to take.
2047                    # +optional
2048                  "command": "A String", # Command is the command line to execute inside the container, the working
2049                      # directory for the command  is root ('/') in the container's filesystem. The
2050                      # command is simply exec'd, it is not run inside a shell, so traditional
2051                      # shell instructions ('|', etc) won't work. To use a shell, you need to
2052                      # explicitly call out to that shell. Exit status of 0 is treated as
2053                      # live/healthy and non-zero is unhealthy. +optional
2054                },
2055              },
2056            },
2057            "command": [ # Entrypoint array. Not executed within a shell.
2058                # The docker image's ENTRYPOINT is used if this is not provided.
2059                # Variable references $(VAR_NAME) are expanded using the container's
2060                # environment. If a variable cannot be resolved, the reference in the input
2061                # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2062                # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2063                # regardless of whether the variable exists or not.
2064                # Cannot be updated.
2065                # More info:
2066                # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2067                # +optional
2068              "A String",
2069            ],
2070            "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
2071                # Container will be restarted if the probe fails.
2072                # Cannot be updated.
2073                # More info:
2074                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2075                # +optional
2076                # determine whether it is alive or ready to receive traffic.
2077              "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2078                  # Defaults to 1 second. Minimum value is 1.
2079                  # More info:
2080                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2081                  # +optional
2082              "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2083                  # are initiated. More info:
2084                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2085                  # +optional
2086              "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2087                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2088                    # TCP hooks not yet supported
2089                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2090                      # +optional
2091                  "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.
2092                      # Number must be in the range 1 to 65535.
2093                      # Name must be an IANA_SVC_NAME.
2094                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2095                      # inner type.  This allows you to have, for example, a JSON field that can
2096                      # accept a name or number.
2097                    "strVal": "A String", # The string value.
2098                    "type": "A String", # The type of the value.
2099                    "intVal": 42, # The int value.
2100                  },
2101                },
2102                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2103                    # +optional
2104                  "path": "A String", # Path to access on the HTTP server.
2105                      # +optional
2106                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2107                      # "Host" in httpHeaders instead.
2108                      # +optional
2109                  "scheme": "A String", # Scheme to use for connecting to the host.
2110                      # Defaults to HTTP.
2111                      # +optional
2112                  "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.
2113                      # Number must be in the range 1 to 65535.
2114                      # Name must be an IANA_SVC_NAME.
2115                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2116                      # inner type.  This allows you to have, for example, a JSON field that can
2117                      # accept a name or number.
2118                    "strVal": "A String", # The string value.
2119                    "type": "A String", # The type of the value.
2120                    "intVal": 42, # The int value.
2121                  },
2122                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2123                      # +optional
2124                    { # HTTPHeader describes a custom header to be used in HTTP probes
2125                      "name": "A String", # The header field name
2126                      "value": "A String", # The header field value
2127                    },
2128                  ],
2129                },
2130                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2131                    # Exec specifies the action to take.
2132                    # +optional
2133                  "command": "A String", # Command is the command line to execute inside the container, the working
2134                      # directory for the command  is root ('/') in the container's filesystem. The
2135                      # command is simply exec'd, it is not run inside a shell, so traditional
2136                      # shell instructions ('|', etc) won't work. To use a shell, you need to
2137                      # explicitly call out to that shell. Exit status of 0 is treated as
2138                      # live/healthy and non-zero is unhealthy. +optional
2139                },
2140              },
2141              "periodSeconds": 42, # How often (in seconds) to perform the probe.
2142                  # Default to 10 seconds. Minimum value is 1.
2143                  # +optional
2144              "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2145                  # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2146                  # is 1. +optional
2147              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2148                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
2149            },
2150            "image": "A String", # Docker image name.
2151                # More info: https://kubernetes.io/docs/concepts/containers/images
2152            "imagePullPolicy": "A String", # Image pull policy.
2153                # One of Always, Never, IfNotPresent.
2154                # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2155                # Cannot be updated.
2156                # More info:
2157                # https://kubernetes.io/docs/concepts/containers/images#updating-images
2158                # +optional
2159            "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2160                # Container will be removed from service endpoints if the probe fails.
2161                # Cannot be updated.
2162                # More info:
2163                # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2164                # +optional
2165                # determine whether it is alive or ready to receive traffic.
2166              "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2167                  # Defaults to 1 second. Minimum value is 1.
2168                  # More info:
2169                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2170                  # +optional
2171              "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2172                  # are initiated. More info:
2173                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2174                  # +optional
2175              "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2176                "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2177                    # TCP hooks not yet supported
2178                  "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2179                      # +optional
2180                  "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.
2181                      # Number must be in the range 1 to 65535.
2182                      # Name must be an IANA_SVC_NAME.
2183                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2184                      # inner type.  This allows you to have, for example, a JSON field that can
2185                      # accept a name or number.
2186                    "strVal": "A String", # The string value.
2187                    "type": "A String", # The type of the value.
2188                    "intVal": 42, # The int value.
2189                  },
2190                },
2191                "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2192                    # +optional
2193                  "path": "A String", # Path to access on the HTTP server.
2194                      # +optional
2195                  "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2196                      # "Host" in httpHeaders instead.
2197                      # +optional
2198                  "scheme": "A String", # Scheme to use for connecting to the host.
2199                      # Defaults to HTTP.
2200                      # +optional
2201                  "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.
2202                      # Number must be in the range 1 to 65535.
2203                      # Name must be an IANA_SVC_NAME.
2204                      # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2205                      # inner type.  This allows you to have, for example, a JSON field that can
2206                      # accept a name or number.
2207                    "strVal": "A String", # The string value.
2208                    "type": "A String", # The type of the value.
2209                    "intVal": 42, # The int value.
2210                  },
2211                  "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2212                      # +optional
2213                    { # HTTPHeader describes a custom header to be used in HTTP probes
2214                      "name": "A String", # The header field name
2215                      "value": "A String", # The header field value
2216                    },
2217                  ],
2218                },
2219                "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2220                    # Exec specifies the action to take.
2221                    # +optional
2222                  "command": "A String", # Command is the command line to execute inside the container, the working
2223                      # directory for the command  is root ('/') in the container's filesystem. The
2224                      # command is simply exec'd, it is not run inside a shell, so traditional
2225                      # shell instructions ('|', etc) won't work. To use a shell, you need to
2226                      # explicitly call out to that shell. Exit status of 0 is treated as
2227                      # live/healthy and non-zero is unhealthy. +optional
2228                },
2229              },
2230              "periodSeconds": 42, # How often (in seconds) to perform the probe.
2231                  # Default to 10 seconds. Minimum value is 1.
2232                  # +optional
2233              "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2234                  # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2235                  # is 1. +optional
2236              "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2237                  # having succeeded. Defaults to 3. Minimum value is 1. +optional
2238            },
2239            "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
2240                # message will be written is mounted into the container's filesystem. Message
2241                # written is intended to be brief final status, such as an assertion failure
2242                # message. Will be truncated by the node if greater than 4096 bytes. The
2243                # total message length across all containers will be limited to 12kb.
2244                # Defaults to /dev/termination-log.
2245                # Cannot be updated.
2246                # +optional
2247            "ports": [ # List of ports to expose from the container. Exposing a port here gives
2248                # the system additional information about the network connections a
2249                # container uses, but is primarily informational. Not specifying a port here
2250                # DOES NOT prevent that port from being exposed. Any port which is
2251                # listening on the default "0.0.0.0" address inside a container will be
2252                # accessible from the network.
2253                # Cannot be updated.
2254                # +optional
2255              { # ContainerPort represents a network port in a single container.
2256                "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2257                    # Defaults to "TCP".
2258                    # +optional
2259                "hostIP": "A String", # What host IP to bind the external port to.
2260                    # +optional
2261                "containerPort": 42, # Number of port to expose on the pod's IP address.
2262                    # This must be a valid port number, 0 < x < 65536.
2263                "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2264                    # named port in a pod must have a unique name. Name for the port that can be
2265                    # referred to by services.
2266                    # +optional
2267                "hostPort": 42, # Number of port to expose on the host.
2268                    # If specified, this must be a valid port number, 0 < x < 65536.
2269                    # If HostNetwork is specified, this must match ContainerPort.
2270                    # Most containers do not need this.
2271                    # +optional
2272              },
2273            ],
2274            "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
2275                # Cannot be updated.
2276                # More info:
2277                # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2278                # +optional
2279              "requests": { # Requests describes the minimum amount of compute resources required.
2280                  # If Requests is omitted for a container, it defaults to Limits if that is
2281                  # explicitly specified, otherwise to an implementation-defined value.
2282                  # The values of the map is string form of the 'quantity' k8s type:
2283                  # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2284                "a_key": "A String",
2285              },
2286              "requestsInMap": { # Requests describes the minimum amount of compute resources required.
2287                  # If Requests is omitted for a container, it defaults to Limits if that is
2288                  # explicitly specified, otherwise to an implementation-defined value.
2289                  # This is a temporary field created to migrate away from the
2290                  # map<string, Quantity> requests field. This is done to become compliant
2291                  # with k8s style API.
2292                  # This field is deprecated in favor of requests field.
2293                "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2294                    # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2295                  "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2296                },
2297              },
2298              "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
2299                  # This is a temporary field created to migrate away from the
2300                  # map<string, Quantity> limits field. This is done to become compliant
2301                  # with k8s style API.
2302                  # This field is deprecated in favor of limits field.
2303                "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2304                    # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2305                  "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2306                },
2307              },
2308              "limits": { # Limits describes the maximum amount of compute resources allowed.
2309                  # The values of the map is string form of the 'quantity' k8s type:
2310                  # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2311                "a_key": "A String",
2312              },
2313            },
2314            "workingDir": "A String", # Container's working directory.
2315                # If not specified, the container runtime's default will be used, which
2316                # might be configured in the container image.
2317                # Cannot be updated.
2318                # +optional
2319          },
2320          "serviceAccountName": "A String", # Not currently used by Cloud Run.
2321          "timeoutSeconds": 42, # TimeoutSeconds holds the max duration the instance is allowed for
2322              # responding to a request.
2323              # Not currently used by Cloud Run.
2324          "servingState": "A String", # ServingState holds a value describing the state the resources
2325              # are in for this Revision.
2326              # Users must not specify this when creating a revision. It is expected
2327              # that the system will manipulate this based on routability and load.
2328              #
2329              # Populated by the system.
2330              # Read-only.
2331          "generation": 42, # Deprecated and not currently populated by Cloud Run. See
2332              # metadata.generation instead, which is the sequence number containing the
2333              # latest generation of the desired state.
2334              #
2335              # Read-only.
2336          "concurrencyModel": "A String", # ConcurrencyModel specifies the desired concurrency model
2337              # (Single or Multi) for the Revision. Defaults to Multi.
2338              # Deprecated in favor of ContainerConcurrency.
2339              # +optional
2340          "containerConcurrency": 42, # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
2341              # requests per container of the Revision. Values are:
2342              # - `0` thread-safe, the system should manage the max concurrency. This is
2343              #    the default value.
2344              # - `1` not-thread-safe. Single concurrency
2345              # - `2-N` thread-safe, max concurrency of N
2346          "volumes": [
2347            { # Volume represents a named volume in a container.
2348              "configMap": { # Adapts a ConfigMap into a volume.
2349                  # The contents of the target ConfigMap's Data field will be presented in a
2350                  # volume as files using the keys in the Data field as the file names, unless
2351                  # the items element is populated with specific mappings of keys to paths.
2352                "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2353                    # Secret will be projected into the volume as a file whose name is the
2354                    # key and content is the value. If specified, the listed keys will be
2355                    # projected into the specified paths, and unlisted keys will not be
2356                    # present. If a key is specified which is not present in the Secret,
2357                    # the volume setup will error unless it is marked optional.
2358                  { # Maps a string key to a path within a volume.
2359                    "path": "A String", # The relative path of the file to map the key to.
2360                        # May not be an absolute path.
2361                        # May not contain the path element '..'.
2362                        # May not start with the string '..'.
2363                    "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2364                        # specified, the volume defaultMode will be used. This might be in conflict
2365                        # with other options that affect the file mode, like fsGroup, and the result
2366                        # can be other mode bits set. +optional
2367                    "key": "A String", # The key to project.
2368                  },
2369                ],
2370                "optional": True or False, # Specify whether the Secret or its keys must be defined.
2371                "name": "A String", # Name of the config.
2372                "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2373                    # 0777. Defaults to 0644. Directories within the path are not affected by
2374                    # this setting. This might be in conflict with other options that affect the
2375                    # file mode, like fsGroup, and the result can be other mode bits set.
2376              },
2377              "secret": { # The contents of the target Secret's Data field will be presented in a volume
2378                  # as files using the keys in the Data field as the file names.
2379                "items": [ # If unspecified, each key-value pair in the Data field of the referenced
2380                    # Secret will be projected into the volume as a file whose name is the
2381                    # key and content is the value. If specified, the listed keys will be
2382                    # projected into the specified paths, and unlisted keys will not be
2383                    # present. If a key is specified which is not present in the Secret,
2384                    # the volume setup will error unless it is marked optional.
2385                  { # Maps a string key to a path within a volume.
2386                    "path": "A String", # The relative path of the file to map the key to.
2387                        # May not be an absolute path.
2388                        # May not contain the path element '..'.
2389                        # May not start with the string '..'.
2390                    "mode": 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
2391                        # specified, the volume defaultMode will be used. This might be in conflict
2392                        # with other options that affect the file mode, like fsGroup, and the result
2393                        # can be other mode bits set. +optional
2394                    "key": "A String", # The key to project.
2395                  },
2396                ],
2397                "optional": True or False, # Specify whether the Secret or its keys must be defined.
2398                "defaultMode": 42, # Mode bits to use on created files by default. Must be a value between 0 and
2399                    # 0777. Defaults to 0644. Directories within the path are not affected by
2400                    # this setting. This might be in conflict with other options that affect the
2401                    # file mode, like fsGroup, and the result can be other mode bits set.
2402                "secretName": "A String", # Name of the secret in the container's namespace to use.
2403              },
2404              "name": "A String", # Volume's name.
2405            },
2406          ],
2407          "containers": [ # Containers holds the single container that defines the unit of execution
2408              # for this Revision. In the context of a Revision, we disallow a number of
2409              # fields on this Container, including: name and lifecycle.
2410            { # A single application container.
2411                # This specifies both the container to run, the command to run in the container
2412                # and the arguments to supply to it.
2413                # Note that additional arguments may be supplied by the system to the container
2414                # at runtime.
2415              "tty": True or False, # Whether this container should allocate a TTY for itself, also requires
2416                  # 'stdin' to be true. Default is false. +optional
2417              "stdin": True or False, # Whether this container should allocate a buffer for stdin in the container
2418                  # runtime. If this is not set, reads from stdin in the container will always
2419                  # result in EOF. Default is false. +optional
2420              "securityContext": { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
2421                  # More info: https://kubernetes.io/docs/concepts/policy/security-context/
2422                  # More info:
2423                  # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2424                  # +optional
2425                  # container. Some fields are present in both SecurityContext and
2426                  # PodSecurityContext.  When both are set, the values in SecurityContext take
2427                  # precedence.
2428                "readOnlyRootFilesystem": True or False, # Whether this container has a read-only root filesystem.
2429                    # Default is false.
2430                    # +optional
2431                "runAsGroup": "A String", # The GID to run the entrypoint of the container process.
2432                    # Uses runtime default if unset.
2433                    # May also be set in PodSecurityContext.  If set in both SecurityContext and
2434                    # PodSecurityContext, the value specified in SecurityContext takes
2435                    # precedence. +optional
2436                "runAsUser": "A String", # The UID to run the entrypoint of the container process.
2437                    # Defaults to user specified in image metadata if unspecified.
2438                    # May also be set in PodSecurityContext.  If set in both SecurityContext and
2439                    # PodSecurityContext, the value specified in SecurityContext takes
2440                    # precedence. +optional
2441                "allowPrivilegeEscalation": True or False, # AllowPrivilegeEscalation controls whether a process can gain more
2442                    # privileges than its parent process. This bool directly controls if
2443                    # the no_new_privs flag will be set on the container process.
2444                    # AllowPrivilegeEscalation is true always when the container is:
2445                    # 1) run as Privileged
2446                    # 2) has CAP_SYS_ADMIN
2447                    # +optional
2448                "capabilities": { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
2449                    # Defaults to the default set of capabilities granted by the container
2450                    # runtime. +optional
2451                  "add": [ # Added capabilities
2452                      # +optional
2453                    "A String",
2454                  ],
2455                  "drop": [ # Removed capabilities
2456                      # +optional
2457                    "A String",
2458                  ],
2459                },
2460                "runAsNonRoot": True or False, # Indicates that the container must run as a non-root user.
2461                    # If true, the Kubelet will validate the image at runtime to ensure that it
2462                    # does not run as UID 0 (root) and fail to start the container if it does.
2463                    # If unset or false, no such validation will be performed.
2464                    # May also be set in PodSecurityContext.  If set in both SecurityContext and
2465                    # PodSecurityContext, the value specified in SecurityContext takes
2466                    # precedence. +optional
2467                "seLinuxOptions": { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
2468                    # If unspecified, the container runtime will allocate a random SELinux
2469                    # context for each container.  May also be set in PodSecurityContext.  If set
2470                    # in both SecurityContext and PodSecurityContext, the value specified in
2471                    # SecurityContext takes precedence. +optional
2472                  "role": "A String", # Role is a SELinux role label that applies to the container.
2473                      # +optional
2474                  "type": "A String", # Type is a SELinux type label that applies to the container.
2475                      # +optional
2476                  "user": "A String", # User is a SELinux user label that applies to the container.
2477                      # +optional
2478                  "level": "A String", # Level is SELinux level label that applies to the container.
2479                      # +optional
2480                },
2481                "privileged": True or False, # Run container in privileged mode.
2482                    # Processes in privileged containers are essentially equivalent to root on
2483                    # the host. Defaults to false. +optional
2484              },
2485              "name": "A String", # Name of the container specified as a DNS_LABEL.
2486                  # Each container must have a unique name (DNS_LABEL).
2487                  # Cannot be updated.
2488              "envFrom": [ # List of sources to populate environment variables in the container.
2489                  # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
2490                  # will be reported as an event when the container is starting. When a key
2491                  # exists in multiple sources, the value associated with the last source will
2492                  # take precedence. Values defined by an Env with a duplicate key will take
2493                  # precedence. Cannot be updated. +optional
2494                { # EnvFromSource represents the source of a set of ConfigMaps
2495                  "secretRef": { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
2496                      # +optional
2497                      # variables with.
2498                      #
2499                      # The contents of the target Secret's Data field will represent the
2500                      # key-value pairs as environment variables.
2501                    "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The Secret to select from.
2502                        # referenced object inside the same namespace.
2503                      "name": "A String", # Name of the referent.
2504                          # More info:
2505                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2506                    },
2507                    "optional": True or False, # Specify whether the Secret must be defined
2508                        # +optional
2509                  },
2510                  "configMapRef": { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2511                      # +optional
2512                      # variables with.
2513                      #
2514                      # The contents of the target ConfigMap's Data field will represent the
2515                      # key-value pairs as environment variables.
2516                    "localObjectReference": { # LocalObjectReference contains enough information to let you locate the # The ConfigMap to select from.
2517                        # referenced object inside the same namespace.
2518                      "name": "A String", # Name of the referent.
2519                          # More info:
2520                          # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2521                    },
2522                    "optional": True or False, # Specify whether the ConfigMap must be defined
2523                        # +optional
2524                  },
2525                  "prefix": "A String", # An optional identifier to prepend to each key in the ConfigMap. Must be a
2526                      # C_IDENTIFIER. +optional
2527                },
2528              ],
2529              "env": [ # List of environment variables to set in the container.
2530                  # Cannot be updated.
2531                  # +optional
2532                { # EnvVar represents an environment variable present in a Container.
2533                  "name": "A String", # Name of the environment variable. Must be a C_IDENTIFIER.
2534                  "value": "A String", # Variable references $(VAR_NAME) are expanded
2535                      # using the previous defined environment variables in the container and
2536                      # any route environment variables. If a variable cannot be resolved,
2537                      # the reference in the input string will be unchanged. The $(VAR_NAME)
2538                      # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
2539                      # references will never be expanded, regardless of whether the variable
2540                      # exists or not.
2541                      # Defaults to "".
2542                      # +optional
2543                },
2544              ],
2545              "volumeMounts": [ # Pod volumes to mount into the container's filesystem.
2546                  # Cannot be updated.
2547                  # +optional
2548                { # VolumeMount describes a mounting of a Volume within a container.
2549                  "readOnly": True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2550                      # Defaults to false.
2551                      # +optional
2552                  "mountPropagation": "A String", # mountPropagation determines how mounts are propagated from the host
2553                      # to container and the other way around.
2554                      # When not set, MountPropagationHostToContainer is used.
2555                      # This field is beta in 1.10.
2556                      # +optional
2557                  "subPath": "A String", # Path within the volume from which the container's volume should be mounted.
2558                      # Defaults to "" (volume's root).
2559                      # +optional
2560                  "name": "A String", # This must match the Name of a Volume.
2561                  "mountPath": "A String", # Path within the container at which the volume should be mounted.  Must
2562                      # not contain ':'.
2563                },
2564              ],
2565              "volumeDevices": [ # volumeDevices is the list of block devices to be used by the container.
2566                  # This is an alpha feature and may change in the future.
2567                  # +optional
2568                { # volumeDevice describes a mapping of a raw block device within a container.
2569                  "devicePath": "A String", # devicePath is the path inside of the container that the device will be
2570                      # mapped to.
2571                  "name": "A String", # name must match the name of a persistentVolumeClaim in the pod
2572                },
2573              ],
2574              "args": [ # Arguments to the entrypoint.
2575                  # The docker image's CMD is used if this is not provided.
2576                  # Variable references $(VAR_NAME) are expanded using the container's
2577                  # environment. If a variable cannot be resolved, the reference in the input
2578                  # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2579                  # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2580                  # regardless of whether the variable exists or not.
2581                  # Cannot be updated.
2582                  # More info:
2583                  # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2584                  # +optional
2585                "A String",
2586              ],
2587              "stdinOnce": True or False, # Whether the container runtime should close the stdin channel after it has
2588                  # been opened by a single attach. When stdin is true the stdin stream will
2589                  # remain open across multiple attach sessions. If stdinOnce is set to true,
2590                  # stdin is opened on container start, is empty until the first client
2591                  # attaches to stdin, and then remains open and accepts data until the client
2592                  # disconnects, at which time stdin is closed and remains closed until the
2593                  # container is restarted. If this flag is false, a container processes that
2594                  # reads from stdin will never receive an EOF. Default is false +optional
2595              "terminationMessagePolicy": "A String", # Indicate how the termination message should be populated. File will use the
2596                  # contents of terminationMessagePath to populate the container status message
2597                  # on both success and failure. FallbackToLogsOnError will use the last chunk
2598                  # of container log output if the termination message file is empty and the
2599                  # container exited with an error. The log output is limited to 2048 bytes or
2600                  # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2601                  # +optional
2602              "lifecycle": { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
2603                  # lifecycle events. Cannot be updated. +optional
2604                  # response to container lifecycle events. For the PostStart and PreStop
2605                  # lifecycle handlers, management of the container blocks until the action is
2606                  # complete, unless the container process fails, in which case the handler is
2607                  # aborted.
2608                "preStop": { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
2609                    # The container is terminated after the handler completes.
2610                    # The reason for termination is passed to the handler.
2611                    # Regardless of the outcome of the handler, the container is eventually
2612                    # terminated. Other management of the container blocks until the hook
2613                    # completes. More info:
2614                    # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2615                    # +optional
2616                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2617                      # TCP hooks not yet supported
2618                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2619                        # +optional
2620                    "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.
2621                        # Number must be in the range 1 to 65535.
2622                        # Name must be an IANA_SVC_NAME.
2623                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2624                        # inner type.  This allows you to have, for example, a JSON field that can
2625                        # accept a name or number.
2626                      "strVal": "A String", # The string value.
2627                      "type": "A String", # The type of the value.
2628                      "intVal": 42, # The int value.
2629                    },
2630                  },
2631                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2632                      # +optional
2633                    "path": "A String", # Path to access on the HTTP server.
2634                        # +optional
2635                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2636                        # "Host" in httpHeaders instead.
2637                        # +optional
2638                    "scheme": "A String", # Scheme to use for connecting to the host.
2639                        # Defaults to HTTP.
2640                        # +optional
2641                    "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.
2642                        # Number must be in the range 1 to 65535.
2643                        # Name must be an IANA_SVC_NAME.
2644                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2645                        # inner type.  This allows you to have, for example, a JSON field that can
2646                        # accept a name or number.
2647                      "strVal": "A String", # The string value.
2648                      "type": "A String", # The type of the value.
2649                      "intVal": 42, # The int value.
2650                    },
2651                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2652                        # +optional
2653                      { # HTTPHeader describes a custom header to be used in HTTP probes
2654                        "name": "A String", # The header field name
2655                        "value": "A String", # The header field value
2656                      },
2657                    ],
2658                  },
2659                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2660                      # Exec specifies the action to take.
2661                      # +optional
2662                    "command": "A String", # Command is the command line to execute inside the container, the working
2663                        # directory for the command  is root ('/') in the container's filesystem. The
2664                        # command is simply exec'd, it is not run inside a shell, so traditional
2665                        # shell instructions ('|', etc) won't work. To use a shell, you need to
2666                        # explicitly call out to that shell. Exit status of 0 is treated as
2667                        # live/healthy and non-zero is unhealthy. +optional
2668                  },
2669                },
2670                "postStart": { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
2671                    # handler fails, the container is terminated and restarted according to its
2672                    # restart policy. Other management of the container blocks until the hook
2673                    # completes. More info:
2674                    # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2675                    # +optional
2676                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2677                      # TCP hooks not yet supported
2678                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2679                        # +optional
2680                    "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.
2681                        # Number must be in the range 1 to 65535.
2682                        # Name must be an IANA_SVC_NAME.
2683                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2684                        # inner type.  This allows you to have, for example, a JSON field that can
2685                        # accept a name or number.
2686                      "strVal": "A String", # The string value.
2687                      "type": "A String", # The type of the value.
2688                      "intVal": 42, # The int value.
2689                    },
2690                  },
2691                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2692                      # +optional
2693                    "path": "A String", # Path to access on the HTTP server.
2694                        # +optional
2695                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2696                        # "Host" in httpHeaders instead.
2697                        # +optional
2698                    "scheme": "A String", # Scheme to use for connecting to the host.
2699                        # Defaults to HTTP.
2700                        # +optional
2701                    "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.
2702                        # Number must be in the range 1 to 65535.
2703                        # Name must be an IANA_SVC_NAME.
2704                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2705                        # inner type.  This allows you to have, for example, a JSON field that can
2706                        # accept a name or number.
2707                      "strVal": "A String", # The string value.
2708                      "type": "A String", # The type of the value.
2709                      "intVal": 42, # The int value.
2710                    },
2711                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2712                        # +optional
2713                      { # HTTPHeader describes a custom header to be used in HTTP probes
2714                        "name": "A String", # The header field name
2715                        "value": "A String", # The header field value
2716                      },
2717                    ],
2718                  },
2719                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2720                      # Exec specifies the action to take.
2721                      # +optional
2722                    "command": "A String", # Command is the command line to execute inside the container, the working
2723                        # directory for the command  is root ('/') in the container's filesystem. The
2724                        # command is simply exec'd, it is not run inside a shell, so traditional
2725                        # shell instructions ('|', etc) won't work. To use a shell, you need to
2726                        # explicitly call out to that shell. Exit status of 0 is treated as
2727                        # live/healthy and non-zero is unhealthy. +optional
2728                  },
2729                },
2730              },
2731              "command": [ # Entrypoint array. Not executed within a shell.
2732                  # The docker image's ENTRYPOINT is used if this is not provided.
2733                  # Variable references $(VAR_NAME) are expanded using the container's
2734                  # environment. If a variable cannot be resolved, the reference in the input
2735                  # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2736                  # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2737                  # regardless of whether the variable exists or not.
2738                  # Cannot be updated.
2739                  # More info:
2740                  # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2741                  # +optional
2742                "A String",
2743              ],
2744              "livenessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
2745                  # Container will be restarted if the probe fails.
2746                  # Cannot be updated.
2747                  # More info:
2748                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2749                  # +optional
2750                  # determine whether it is alive or ready to receive traffic.
2751                "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2752                    # Defaults to 1 second. Minimum value is 1.
2753                    # More info:
2754                    # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2755                    # +optional
2756                "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2757                    # are initiated. More info:
2758                    # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2759                    # +optional
2760                "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2761                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2762                      # TCP hooks not yet supported
2763                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2764                        # +optional
2765                    "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.
2766                        # Number must be in the range 1 to 65535.
2767                        # Name must be an IANA_SVC_NAME.
2768                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2769                        # inner type.  This allows you to have, for example, a JSON field that can
2770                        # accept a name or number.
2771                      "strVal": "A String", # The string value.
2772                      "type": "A String", # The type of the value.
2773                      "intVal": 42, # The int value.
2774                    },
2775                  },
2776                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2777                      # +optional
2778                    "path": "A String", # Path to access on the HTTP server.
2779                        # +optional
2780                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2781                        # "Host" in httpHeaders instead.
2782                        # +optional
2783                    "scheme": "A String", # Scheme to use for connecting to the host.
2784                        # Defaults to HTTP.
2785                        # +optional
2786                    "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.
2787                        # Number must be in the range 1 to 65535.
2788                        # Name must be an IANA_SVC_NAME.
2789                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2790                        # inner type.  This allows you to have, for example, a JSON field that can
2791                        # accept a name or number.
2792                      "strVal": "A String", # The string value.
2793                      "type": "A String", # The type of the value.
2794                      "intVal": 42, # The int value.
2795                    },
2796                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2797                        # +optional
2798                      { # HTTPHeader describes a custom header to be used in HTTP probes
2799                        "name": "A String", # The header field name
2800                        "value": "A String", # The header field value
2801                      },
2802                    ],
2803                  },
2804                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2805                      # Exec specifies the action to take.
2806                      # +optional
2807                    "command": "A String", # Command is the command line to execute inside the container, the working
2808                        # directory for the command  is root ('/') in the container's filesystem. The
2809                        # command is simply exec'd, it is not run inside a shell, so traditional
2810                        # shell instructions ('|', etc) won't work. To use a shell, you need to
2811                        # explicitly call out to that shell. Exit status of 0 is treated as
2812                        # live/healthy and non-zero is unhealthy. +optional
2813                  },
2814                },
2815                "periodSeconds": 42, # How often (in seconds) to perform the probe.
2816                    # Default to 10 seconds. Minimum value is 1.
2817                    # +optional
2818                "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2819                    # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2820                    # is 1. +optional
2821                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2822                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
2823              },
2824              "image": "A String", # Docker image name.
2825                  # More info: https://kubernetes.io/docs/concepts/containers/images
2826              "imagePullPolicy": "A String", # Image pull policy.
2827                  # One of Always, Never, IfNotPresent.
2828                  # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2829                  # Cannot be updated.
2830                  # More info:
2831                  # https://kubernetes.io/docs/concepts/containers/images#updating-images
2832                  # +optional
2833              "readinessProbe": { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2834                  # Container will be removed from service endpoints if the probe fails.
2835                  # Cannot be updated.
2836                  # More info:
2837                  # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2838                  # +optional
2839                  # determine whether it is alive or ready to receive traffic.
2840                "timeoutSeconds": 42, # Number of seconds after which the probe times out.
2841                    # Defaults to 1 second. Minimum value is 1.
2842                    # More info:
2843                    # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2844                    # +optional
2845                "initialDelaySeconds": 42, # Number of seconds after the container has started before liveness probes
2846                    # are initiated. More info:
2847                    # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2848                    # +optional
2849                "handler": { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2850                  "tcpSocket": { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2851                      # TCP hooks not yet supported
2852                    "host": "A String", # Optional: Host name to connect to, defaults to the pod IP.
2853                        # +optional
2854                    "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.
2855                        # Number must be in the range 1 to 65535.
2856                        # Name must be an IANA_SVC_NAME.
2857                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2858                        # inner type.  This allows you to have, for example, a JSON field that can
2859                        # accept a name or number.
2860                      "strVal": "A String", # The string value.
2861                      "type": "A String", # The type of the value.
2862                      "intVal": 42, # The int value.
2863                    },
2864                  },
2865                  "httpGet": { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2866                      # +optional
2867                    "path": "A String", # Path to access on the HTTP server.
2868                        # +optional
2869                    "host": "A String", # Host name to connect to, defaults to the pod IP. You probably want to set
2870                        # "Host" in httpHeaders instead.
2871                        # +optional
2872                    "scheme": "A String", # Scheme to use for connecting to the host.
2873                        # Defaults to HTTP.
2874                        # +optional
2875                    "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.
2876                        # Number must be in the range 1 to 65535.
2877                        # Name must be an IANA_SVC_NAME.
2878                        # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2879                        # inner type.  This allows you to have, for example, a JSON field that can
2880                        # accept a name or number.
2881                      "strVal": "A String", # The string value.
2882                      "type": "A String", # The type of the value.
2883                      "intVal": 42, # The int value.
2884                    },
2885                    "httpHeaders": [ # Custom headers to set in the request. HTTP allows repeated headers.
2886                        # +optional
2887                      { # HTTPHeader describes a custom header to be used in HTTP probes
2888                        "name": "A String", # The header field name
2889                        "value": "A String", # The header field value
2890                      },
2891                    ],
2892                  },
2893                  "exec": { # ExecAction describes a "run in container" action. # One and only one of the following should be specified.
2894                      # Exec specifies the action to take.
2895                      # +optional
2896                    "command": "A String", # Command is the command line to execute inside the container, the working
2897                        # directory for the command  is root ('/') in the container's filesystem. The
2898                        # command is simply exec'd, it is not run inside a shell, so traditional
2899                        # shell instructions ('|', etc) won't work. To use a shell, you need to
2900                        # explicitly call out to that shell. Exit status of 0 is treated as
2901                        # live/healthy and non-zero is unhealthy. +optional
2902                  },
2903                },
2904                "periodSeconds": 42, # How often (in seconds) to perform the probe.
2905                    # Default to 10 seconds. Minimum value is 1.
2906                    # +optional
2907                "successThreshold": 42, # Minimum consecutive successes for the probe to be considered successful
2908                    # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2909                    # is 1. +optional
2910                "failureThreshold": 42, # Minimum consecutive failures for the probe to be considered failed after
2911                    # having succeeded. Defaults to 3. Minimum value is 1. +optional
2912              },
2913              "terminationMessagePath": "A String", # Optional: Path at which the file to which the container's termination
2914                  # message will be written is mounted into the container's filesystem. Message
2915                  # written is intended to be brief final status, such as an assertion failure
2916                  # message. Will be truncated by the node if greater than 4096 bytes. The
2917                  # total message length across all containers will be limited to 12kb.
2918                  # Defaults to /dev/termination-log.
2919                  # Cannot be updated.
2920                  # +optional
2921              "ports": [ # List of ports to expose from the container. Exposing a port here gives
2922                  # the system additional information about the network connections a
2923                  # container uses, but is primarily informational. Not specifying a port here
2924                  # DOES NOT prevent that port from being exposed. Any port which is
2925                  # listening on the default "0.0.0.0" address inside a container will be
2926                  # accessible from the network.
2927                  # Cannot be updated.
2928                  # +optional
2929                { # ContainerPort represents a network port in a single container.
2930                  "protocol": "A String", # Protocol for port. Must be UDP or TCP.
2931                      # Defaults to "TCP".
2932                      # +optional
2933                  "hostIP": "A String", # What host IP to bind the external port to.
2934                      # +optional
2935                  "containerPort": 42, # Number of port to expose on the pod's IP address.
2936                      # This must be a valid port number, 0 < x < 65536.
2937                  "name": "A String", # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2938                      # named port in a pod must have a unique name. Name for the port that can be
2939                      # referred to by services.
2940                      # +optional
2941                  "hostPort": 42, # Number of port to expose on the host.
2942                      # If specified, this must be a valid port number, 0 < x < 65536.
2943                      # If HostNetwork is specified, this must match ContainerPort.
2944                      # Most containers do not need this.
2945                      # +optional
2946                },
2947              ],
2948              "resources": { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
2949                  # Cannot be updated.
2950                  # More info:
2951                  # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2952                  # +optional
2953                "requests": { # Requests describes the minimum amount of compute resources required.
2954                    # If Requests is omitted for a container, it defaults to Limits if that is
2955                    # explicitly specified, otherwise to an implementation-defined value.
2956                    # The values of the map is string form of the 'quantity' k8s type:
2957                    # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2958                  "a_key": "A String",
2959                },
2960                "requestsInMap": { # Requests describes the minimum amount of compute resources required.
2961                    # If Requests is omitted for a container, it defaults to Limits if that is
2962                    # explicitly specified, otherwise to an implementation-defined value.
2963                    # This is a temporary field created to migrate away from the
2964                    # map<string, Quantity> requests field. This is done to become compliant
2965                    # with k8s style API.
2966                    # This field is deprecated in favor of requests field.
2967                  "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2968                      # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2969                    "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2970                  },
2971                },
2972                "limitsInMap": { # Limits describes the maximum amount of compute resources allowed.
2973                    # This is a temporary field created to migrate away from the
2974                    # map<string, Quantity> limits field. This is done to become compliant
2975                    # with k8s style API.
2976                    # This field is deprecated in favor of limits field.
2977                  "a_key": { # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2978                      # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2979                    "string": "A String", # Stringified version of the quantity, e.g., "800 MiB".
2980                  },
2981                },
2982                "limits": { # Limits describes the maximum amount of compute resources allowed.
2983                    # The values of the map is string form of the 'quantity' k8s type:
2984                    # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2985                  "a_key": "A String",
2986                },
2987              },
2988              "workingDir": "A String", # Container's working directory.
2989                  # If not specified, the container runtime's default will be used, which
2990                  # might be configured in the container image.
2991                  # Cannot be updated.
2992                  # +optional
2993            },
2994          ],
2995        },
2996        "apiVersion": "A String", # The API version for this call such as "v1alpha1".
2997        "metadata": { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Revision, including name, namespace, labels,
2998            # and annotations.
2999            # all objects users must create.
3000          "ownerReferences": [ # List of objects that own this object. If ALL objects in the list have
3001              # been deleted, this object will be garbage collected.
3002              # +optional
3003            { # OwnerReference contains enough information to let you identify an owning
3004                # object. Currently, an owning object must be in the same namespace, so there
3005                # is no namespace field.
3006              "kind": "A String", # Kind of the referent.
3007                  # More info:
3008                  # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
3009              "uid": "A String", # UID of the referent.
3010                  # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3011              "apiVersion": "A String", # API version of the referent.
3012              "controller": True or False, # If true, this reference points to the managing controller.
3013                  # +optional
3014              "blockOwnerDeletion": True or False, # If true, AND if the owner has the "foregroundDeletion" finalizer, then
3015                  # the owner cannot be deleted from the key-value store until this
3016                  # reference is removed.
3017                  # Defaults to false.
3018                  # To set this field, a user needs "delete" permission of the owner,
3019                  # otherwise 422 (Unprocessable Entity) will be returned.
3020                  # +optional
3021              "name": "A String", # Name of the referent.
3022                  # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3023            },
3024          ],
3025          "name": "A String", # Name must be unique within a namespace, within a Cloud Run region.
3026              # Is required when creating
3027              # resources, although some resources may allow a client to request the
3028              # generation of an appropriate name automatically. Name is primarily intended
3029              # for creation idempotence and configuration definition. Cannot be updated.
3030              # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3031              # +optional
3032          "deletionTimestamp": "A String", # DeletionTimestamp is RFC 3339 date and time at which this resource will be
3033              # deleted. This field is set by the server when a graceful deletion is
3034              # requested by the user, and is not directly settable by a client. The
3035              # resource is expected to be deleted (no longer visible from resource lists,
3036              # and not reachable by name) after the time in this field, once the
3037              # finalizers list is empty. As long as the finalizers list contains items,
3038              # deletion is blocked. Once the deletionTimestamp is set, this value may not
3039              # be unset or be set further into the future, although it may be shortened or
3040              # the resource may be deleted prior to this time. For example, a user may
3041              # request that a pod is deleted in 30 seconds. The Kubelet will react by
3042              # sending a graceful termination signal to the containers in the pod. After
3043              # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3044              # to the container and after cleanup, remove the pod from the API. In the
3045              # presence of network partitions, this object may still exist after this
3046              # timestamp, until an administrator or automated process can determine the
3047              # resource is fully terminated.
3048              # If not set, graceful deletion of the object has not been requested.
3049              #
3050              # Populated by the system when a graceful deletion is requested.
3051              # Read-only.
3052              # More info:
3053              # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3054              # +optional
3055          "clusterName": "A String", # Not currently supported by Cloud Run.
3056              #
3057              # The name of the cluster which the object belongs to.
3058              # This is used to distinguish resources with same name and namespace in
3059              # different clusters. This field is not set anywhere right now and apiserver
3060              # is going to ignore it if set in create or update request. +optional
3061          "deletionGracePeriodSeconds": 42, # Not currently supported by Cloud Run.
3062              #
3063              # Number of seconds allowed for this object to gracefully terminate before
3064              # it will be removed from the system. Only set when deletionTimestamp is also
3065              # set. May only be shortened. Read-only. +optional
3066          "labels": { # Map of string keys and values that can be used to organize and categorize
3067              # (scope and select) objects. May match selectors of replication controllers
3068              # and routes.
3069              # More info: http://kubernetes.io/docs/user-guide/labels
3070              # +optional
3071            "a_key": "A String",
3072          },
3073          "namespace": "A String", # Namespace defines the space within each name must be unique, within a
3074              # Cloud Run region. In Cloud Run the namespace must be equal to either the
3075              # project ID or project number.
3076          "generation": 42, # A sequence number representing a specific generation of the desired state.
3077              # Populated by the system. Read-only.
3078              # +optional
3079          "finalizers": [ # Not currently supported by Cloud Run.
3080              #
3081              # Must be empty before the object is deleted from the registry. Each entry
3082              # is an identifier for the responsible component that will remove the entry
3083              # from the list. If the deletionTimestamp of the object is non-nil, entries
3084              # in this list can only be removed.
3085              # +optional
3086              # +patchStrategy=merge
3087            "A String",
3088          ],
3089          "initializers": { # Initializers tracks the progress of initialization. # Not currently supported by Cloud Run.
3090              #
3091              # An initializer is a controller which enforces some system invariant at
3092              # object creation time. This field is a list of initializers that have not
3093              # yet acted on this object. If nil or empty, this object has been completely
3094              # initialized. Otherwise, the object is considered uninitialized and is
3095              # hidden (in list/watch and get calls) from clients that haven't explicitly
3096              # asked to observe uninitialized objects.
3097              #
3098              # When an object is created, the system will populate this list with the
3099              # current set of initializers. Only privileged users may set or modify this
3100              # list. Once it is empty, it may not be modified further by any user.
3101            "pending": [ # Pending is a list of initializers that must execute in order before this
3102                # object is visible. When the last pending initializer is removed, and no
3103                # failing result is set, the initializers struct will be set to nil and the
3104                # object is considered as initialized and visible to all clients.
3105                # +patchMergeKey=name
3106                # +patchStrategy=merge
3107              { # Initializer is information about an initializer that has not yet completed.
3108                "name": "A String", # name of the process that is responsible for initializing this object.
3109              },
3110            ],
3111          },
3112          "resourceVersion": "A String", # An opaque value that represents the internal version of this object that
3113              # can be used by clients to determine when objects have changed. May be used
3114              # for optimistic concurrency, change detection, and the watch operation on a
3115              # resource or set of resources. Clients must treat these values as opaque and
3116              # passed unmodified back to the server. They may only be valid for a
3117              # particular resource or set of resources.
3118              #
3119              # Populated by the system.
3120              # Read-only.
3121              # Value must be treated as opaque by clients and .
3122              # More info:
3123              # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3124              # +optional
3125          "generateName": "A String", # Not currently supported by Cloud Run.
3126              #
3127              # GenerateName is an optional prefix, used by the server, to generate a
3128              # unique name ONLY IF the Name field has not been provided. If this field is
3129              # used, the name returned to the client will be different than the name
3130              # passed. This value will also be combined with a unique suffix. The provided
3131              # value has the same validation rules as the Name field, and may be truncated
3132              # by the length of the suffix required to make the value unique on the
3133              # server.
3134              #
3135              # If this field is specified and the generated name exists, the server will
3136              # NOT return a 409 - instead, it will either return 201 Created or 500 with
3137              # Reason ServerTimeout indicating a unique name could not be found in the
3138              # time allotted, and the client should retry (optionally after the time
3139              # indicated in the Retry-After header).
3140              #
3141              # Applied only if Name is not specified.
3142              # More info:
3143              # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3144              # +optional
3145              #  string generateName = 2;
3146          "creationTimestamp": "A String", # CreationTimestamp is a timestamp representing the server time when this
3147              # object was created. It is not guaranteed to be set in happens-before order
3148              # across separate operations. Clients may not set this value. It is
3149              # represented in RFC3339 form and is in UTC.
3150              #
3151              # Populated by the system.
3152              # Read-only.
3153              # Null for lists.
3154              # More info:
3155              # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3156              # +optional
3157          "annotations": { # Annotations is an unstructured key value map stored with a resource that
3158              # may be set by external tools to store and retrieve arbitrary metadata. They
3159              # are not queryable and should be preserved when modifying objects. More
3160              # info: http://kubernetes.io/docs/user-guide/annotations +optional
3161            "a_key": "A String",
3162          },
3163          "selfLink": "A String", # SelfLink is a URL representing this object.
3164              # Populated by the system.
3165              # Read-only.
3166              # +optional
3167              #  string selfLink = 4;
3168          "uid": "A String", # UID is the unique in time and space value for this object. It is typically
3169              # generated by the server on successful creation of a resource and is not
3170              # allowed to change on PUT operations.
3171              #
3172              # Populated by the system.
3173              # Read-only.
3174              # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3175              # +optional
3176        },
3177      },
3178    ],
3179    "kind": "A String", # The kind of this resource, in this case "RevisionList".
3180    "unreachable": [ # Locations that could not be reached.
3181      "A String",
3182    ],
3183    "apiVersion": "A String", # The API version for this call such as "v1alpha1".
3184    "metadata": { # ListMeta describes metadata that synthetic resources must have, including # Metadata associated with this revision list.
3185        # lists and various status objects. A resource may have only one of
3186        # {ObjectMeta, ListMeta}.
3187      "continue": "A String", # continue may be set if the user set a limit on the number of items
3188          # returned, and indicates that the server has more data available. The value
3189          # is opaque and may be used to issue another request to the endpoint that
3190          # served this list to retrieve the next set of available objects. Continuing
3191          # a list may not be possible if the server configuration has changed or more
3192          # than a few minutes have passed. The resourceVersion field returned when
3193          # using this continue value will be identical to the value in the first
3194          # response.
3195      "selfLink": "A String", # SelfLink is a URL representing this object.
3196          # Populated by the system.
3197          # Read-only.
3198          # +optional
3199      "resourceVersion": "A String", # String that identifies the server's internal version of this object that
3200          # can be used by clients to determine when objects have changed. Value must
3201          # be treated as opaque by clients and passed unmodified back to the server.
3202          # Populated by the system.
3203          # Read-only.
3204          # More info:
3205          # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3206          # +optional
3207    },
3208  }</pre>
3209</div>
3210
3211</body></html>