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