blob: bb53a290b95f18d24b14ceeb42826ffdce667c74 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="run_v1alpha1.html">Cloud Run API</a> . <a href="run_v1alpha1.namespaces.html">namespaces</a> . <a href="run_v1alpha1.namespaces.configurations.html">configurations</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
79<p class="firstline">Rpc to get information about a configuration.</p>
80<p class="toc_element">
Bu Sun Kim65020912020-05-20 12:08:20 -070081 <code><a href="#list">list(parent, limit=None, watch=None, labelSelector=None, resourceVersion=None, includeUninitialized=None, fieldSelector=None, continue=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070082<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
Bu Sun Kim65020912020-05-20 12:08:20 -070099 { # Configuration represents the &quot;floating HEAD&quot; of a linear history of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700100 # Revisions, and optionally how the containers those revisions reference are
Bu Sun Kim65020912020-05-20 12:08:20 -0700101 # built. Users create new Revisions by updating the Configuration&#x27;s spec. The
102 # &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest
103 # ready&quot; revision&#x27;s name. See also:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700104 # https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
Bu Sun Kim65020912020-05-20 12:08:20 -0700105 &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
106 &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the # Spec holds the desired state of the Configuration (from the client).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700107 # client).
Bu Sun Kim65020912020-05-20 12:08:20 -0700108 &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
109 # from a template. Based on:
110 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
111 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
112 # will be generated by the Configuration.
113 # To set minimum instances for this revision, use the
114 # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
115 # To set maximum instances for this revision, use the
116 # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
117 # To set Cloud SQL connections for the revision, use the
118 # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
119 # comma separated.
120 # all objects users must create.
121 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
122 # may be set by external tools to store and retrieve arbitrary metadata. They
123 # are not queryable and should be preserved when modifying objects. More
124 # info: http://kubernetes.io/docs/user-guide/annotations +optional
125 &quot;a_key&quot;: &quot;A String&quot;,
126 },
127 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
128 #
129 # GenerateName is an optional prefix, used by the server, to generate a
130 # unique name ONLY IF the Name field has not been provided. If this field is
131 # used, the name returned to the client will be different than the name
132 # passed. This value will also be combined with a unique suffix. The provided
133 # value has the same validation rules as the Name field, and may be truncated
134 # by the length of the suffix required to make the value unique on the
135 # server.
136 #
137 # If this field is specified and the generated name exists, the server will
138 # NOT return a 409 - instead, it will either return 201 Created or 500 with
139 # Reason ServerTimeout indicating a unique name could not be found in the
140 # time allotted, and the client should retry (optionally after the time
141 # indicated in the Retry-After header).
142 #
143 # Applied only if Name is not specified.
144 # More info:
145 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
146 # +optional
147 # string generateName = 2;
148 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
149 # Is required when creating
150 # resources, although some resources may allow a client to request the
151 # generation of an appropriate name automatically. Name is primarily intended
152 # for creation idempotence and configuration definition. Cannot be updated.
153 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
154 # +optional
155 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
156 #
157 # The name of the cluster which the object belongs to.
158 # This is used to distinguish resources with same name and namespace in
159 # different clusters. This field is not set anywhere right now and apiserver
160 # is going to ignore it if set in create or update request. +optional
161 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
162 #
163 # Number of seconds allowed for this object to gracefully terminate before
164 # it will be removed from the system. Only set when deletionTimestamp is also
165 # set. May only be shortened. Read-only. +optional
166 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
167 #
168 # Must be empty before the object is deleted from the registry. Each entry
169 # is an identifier for the responsible component that will remove the entry
170 # from the list. If the deletionTimestamp of the object is non-nil, entries
171 # in this list can only be removed.
172 # +optional
173 # +patchStrategy=merge
174 &quot;A String&quot;,
175 ],
176 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
177 # deleted. This field is set by the server when a graceful deletion is
178 # requested by the user, and is not directly settable by a client. The
179 # resource is expected to be deleted (no longer visible from resource lists,
180 # and not reachable by name) after the time in this field, once the
181 # finalizers list is empty. As long as the finalizers list contains items,
182 # deletion is blocked. Once the deletionTimestamp is set, this value may not
183 # be unset or be set further into the future, although it may be shortened or
184 # the resource may be deleted prior to this time. For example, a user may
185 # request that a pod is deleted in 30 seconds. The Kubelet will react by
186 # sending a graceful termination signal to the containers in the pod. After
187 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
188 # to the container and after cleanup, remove the pod from the API. In the
189 # presence of network partitions, this object may still exist after this
190 # timestamp, until an administrator or automated process can determine the
191 # resource is fully terminated.
192 # If not set, graceful deletion of the object has not been requested.
193 #
194 # Populated by the system when a graceful deletion is requested.
195 # Read-only.
196 # More info:
197 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
198 # +optional
199 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
200 # been deleted, this object will be garbage collected.
201 # +optional
202 { # OwnerReference contains enough information to let you identify an owning
203 # object. Currently, an owning object must be in the same namespace, so there
204 # is no namespace field.
205 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
206 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
207 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
208 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
209 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
210 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
211 # +optional
212 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
213 # More info:
214 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
215 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
216 # the owner cannot be deleted from the key-value store until this
217 # reference is removed.
218 # Defaults to false.
219 # To set this field, a user needs &quot;delete&quot; permission of the owner,
220 # otherwise 422 (Unprocessable Entity) will be returned.
221 # +optional
222 },
223 ],
224 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
225 # object was created. It is not guaranteed to be set in happens-before order
226 # across separate operations. Clients may not set this value. It is
227 # represented in RFC3339 form and is in UTC.
228 #
229 # Populated by the system.
230 # Read-only.
231 # Null for lists.
232 # More info:
233 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
234 # +optional
235 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
236 # (scope and select) objects. May match selectors of replication controllers
237 # and routes.
238 # More info: http://kubernetes.io/docs/user-guide/labels
239 # +optional
240 &quot;a_key&quot;: &quot;A String&quot;,
241 },
242 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
243 # Populated by the system. Read-only.
244 # +optional
245 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
246 # can be used by clients to determine when objects have changed. May be used
247 # for optimistic concurrency, change detection, and the watch operation on a
248 # resource or set of resources. Clients must treat these values as opaque and
249 # passed unmodified back to the server. They may only be valid for a
250 # particular resource or set of resources.
251 #
252 # Populated by the system.
253 # Read-only.
254 # Value must be treated as opaque by clients and .
255 # More info:
256 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
257 # +optional
258 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
259 # generated by the server on successful creation of a resource and is not
260 # allowed to change on PUT operations.
261 #
262 # Populated by the system.
263 # Read-only.
264 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
265 # +optional
266 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
267 # Populated by the system.
268 # Read-only.
269 # +optional
270 # string selfLink = 4;
271 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
272 # Cloud Run region. In Cloud Run the namespace must be equal to either the
273 # project ID or project number.
274 },
275 &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
276 &quot;containerConcurrency&quot;: 42, # (Optional)
277 #
278 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
279 # requests per container instance of the Revision.
280 #
281 # Cloud Run fully managed: supported, defaults to 80
282 #
283 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
284 # to the application is not limited, and the system decides the
285 # target concurrency for the autoscaler.
286 &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision
287 # of the service. The service account represents the identity of the
288 # running revision, and determines what permissions the revision has. If
289 # not provided, the revision will use the project&#x27;s default service account.
290 &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution
291 # for this Revision. In the context of a Revision, we disallow a number of
292 # fields on this Container, including: name and lifecycle.
293 # In Cloud Run, only a single container may be provided.
294 { # A single application container.
295 # This specifies both the container to run, the command to run in the container
296 # and the arguments to supply to it.
297 # Note that additional arguments may be supplied by the system to the container
298 # at runtime.
299 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
300 # message will be written is mounted into the container&#x27;s filesystem. Message
301 # written is intended to be brief final status, such as an assertion failure
302 # message. Will be truncated by the node if greater than 4096 bytes. The
303 # total message length across all containers will be limited to 12kb.
304 # Defaults to /dev/termination-log.
305 # Cannot be updated.
306 # +optional
307 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
308 # lifecycle events. Cannot be updated. +optional
309 # response to container lifecycle events. For the PostStart and PreStop
310 # lifecycle handlers, management of the container blocks until the action is
311 # complete, unless the container process fails, in which case the handler is
312 # aborted.
313 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
314 # The container is terminated after the handler completes.
315 # The reason for termination is passed to the handler.
316 # Regardless of the outcome of the handler, the container is eventually
317 # terminated. Other management of the container blocks until the hook
318 # completes. More info:
319 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
320 # +optional
321 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
322 # Exec specifies the action to take.
323 # +optional
324 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
325 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
326 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
327 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
328 # explicitly call out to that shell. Exit status of 0 is treated as
329 # live/healthy and non-zero is unhealthy. +optional
330 },
331 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
332 # +optional
333 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
334 # +optional
335 { # HTTPHeader describes a custom header to be used in HTTP probes
336 &quot;value&quot;: &quot;A String&quot;, # The header field value
337 &quot;name&quot;: &quot;A String&quot;, # The header field name
338 },
339 ],
340 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
341 # +optional
342 &quot;port&quot;: { # 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.
343 # Number must be in the range 1 to 65535.
344 # Name must be an IANA_SVC_NAME.
345 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
346 # inner type. This allows you to have, for example, a JSON field that can
347 # accept a name or number.
348 &quot;type&quot;: 42, # The type of the value.
349 &quot;intVal&quot;: 42, # The int value.
350 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
351 },
352 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
353 # &quot;Host&quot; in httpHeaders instead.
354 # +optional
355 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
356 # Defaults to HTTP.
357 # +optional
358 },
359 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
360 # TCP hooks not yet supported
361 &quot;port&quot;: { # 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.
362 # Number must be in the range 1 to 65535.
363 # Name must be an IANA_SVC_NAME.
364 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
365 # inner type. This allows you to have, for example, a JSON field that can
366 # accept a name or number.
367 &quot;type&quot;: 42, # The type of the value.
368 &quot;intVal&quot;: 42, # The int value.
369 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
370 },
371 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
372 # +optional
373 },
374 },
375 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
376 # handler fails, the container is terminated and restarted according to its
377 # restart policy. Other management of the container blocks until the hook
378 # completes. More info:
379 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
380 # +optional
381 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
382 # Exec specifies the action to take.
383 # +optional
384 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
385 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
386 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
387 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
388 # explicitly call out to that shell. Exit status of 0 is treated as
389 # live/healthy and non-zero is unhealthy. +optional
390 },
391 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
392 # +optional
393 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
394 # +optional
395 { # HTTPHeader describes a custom header to be used in HTTP probes
396 &quot;value&quot;: &quot;A String&quot;, # The header field value
397 &quot;name&quot;: &quot;A String&quot;, # The header field name
398 },
399 ],
400 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
401 # +optional
402 &quot;port&quot;: { # 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.
403 # Number must be in the range 1 to 65535.
404 # Name must be an IANA_SVC_NAME.
405 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
406 # inner type. This allows you to have, for example, a JSON field that can
407 # accept a name or number.
408 &quot;type&quot;: 42, # The type of the value.
409 &quot;intVal&quot;: 42, # The int value.
410 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
411 },
412 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
413 # &quot;Host&quot; in httpHeaders instead.
414 # +optional
415 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
416 # Defaults to HTTP.
417 # +optional
418 },
419 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
420 # TCP hooks not yet supported
421 &quot;port&quot;: { # 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.
422 # Number must be in the range 1 to 65535.
423 # Name must be an IANA_SVC_NAME.
424 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
425 # inner type. This allows you to have, for example, a JSON field that can
426 # accept a name or number.
427 &quot;type&quot;: 42, # The type of the value.
428 &quot;intVal&quot;: 42, # The int value.
429 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
430 },
431 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
432 # +optional
433 },
434 },
435 },
436 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
437 # runtime. If this is not set, reads from stdin in the container will always
438 # result in EOF. Default is false. +optional
439 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
440 # &#x27;stdin&#x27; to be true. Default is false. +optional
441 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
442 # Cannot be updated.
443 # +optional
444 { # VolumeMount describes a mounting of a Volume within a container.
445 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
446 # Defaults to false.
447 # +optional
448 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
449 # to container and the other way around.
450 # When not set, MountPropagationHostToContainer is used.
451 # This field is beta in 1.10.
452 # +optional
453 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
454 # not contain &#x27;:&#x27;.
455 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
456 # Defaults to &quot;&quot; (volume&#x27;s root).
457 # +optional
458 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
459 },
460 ],
461 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
462 # This is an alpha feature and may change in the future.
463 # +optional
464 { # volumeDevice describes a mapping of a raw block device within a container.
465 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
466 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
467 # mapped to.
468 },
469 ],
470 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
471 # the system additional information about the network connections a
472 # container uses, but is primarily informational. Not specifying a port here
473 # DOES NOT prevent that port from being exposed. Any port which is
474 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
475 # accessible from the network.
476 # Cannot be updated.
477 # +optional
478 { # ContainerPort represents a network port in a single container.
479 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
480 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
481 # If HostNetwork is specified, this must match ContainerPort.
482 # Most containers do not need this.
483 # +optional
484 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
485 # This must be a valid port number, 0 &lt; x &lt; 65536.
486 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
487 # Defaults to &quot;TCP&quot;.
488 # +optional
489 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
490 # +optional
491 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
492 # named port in a pod must have a unique name. Name for the port that can be
493 # referred to by services.
494 # +optional
495 },
496 ],
497 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
498 # If not specified, the container runtime&#x27;s default will be used, which
499 # might be configured in the container image.
500 # Cannot be updated.
501 # +optional
502 &quot;args&quot;: [ # Arguments to the entrypoint.
503 # The docker image&#x27;s CMD is used if this is not provided.
504 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
505 # environment. If a variable cannot be resolved, the reference in the input
506 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
507 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
508 # regardless of whether the variable exists or not.
509 # Cannot be updated.
510 # More info:
511 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
512 # +optional
513 &quot;A String&quot;,
514 ],
515 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
516 # been opened by a single attach. When stdin is true the stdin stream will
517 # remain open across multiple attach sessions. If stdinOnce is set to true,
518 # stdin is opened on container start, is empty until the first client
519 # attaches to stdin, and then remains open and accepts data until the client
520 # disconnects, at which time stdin is closed and remains closed until the
521 # container is restarted. If this flag is false, a container processes that
522 # reads from stdin will never receive an EOF. Default is false +optional
523 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
524 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
525 # will be reported as an event when the container is starting. When a key
526 # exists in multiple sources, the value associated with the last source will
527 # take precedence. Values defined by an Env with a duplicate key will take
528 # precedence. Cannot be updated. +optional
529 { # EnvFromSource represents the source of a set of ConfigMaps
530 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
531 # +optional
532 # variables with.
533 #
534 # The contents of the target ConfigMap&#x27;s Data field will represent the
535 # key-value pairs as environment variables.
536 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
537 #
538 # Cloud Run for Anthos: supported
539 #
540 # The ConfigMap to select from.
541 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
542 # directly into the message. Use the &quot;name&quot; field instead.
543 # referenced object inside the same namespace.
544 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
545 # More info:
546 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
547 },
548 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
549 #
550 # Cloud Run for Anthos: supported
551 #
552 # Specify whether the ConfigMap must be defined
553 # +optional
554 },
555 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
556 # +optional
557 # variables with.
558 #
559 # The contents of the target Secret&#x27;s Data field will represent the
560 # key-value pairs as environment variables.
561 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
562 # directly into the message. Use the &quot;name&quot; field instead.
563 # referenced object inside the same namespace.
564 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
565 # More info:
566 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
567 },
568 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
569 #
570 # Cloud Run for Anthos: supported
571 #
572 # Specify whether the Secret must be defined
573 # +optional
574 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
575 #
576 # Cloud Run for Anthos: supported
577 #
578 # The Secret to select from.
579 },
580 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
581 # C_IDENTIFIER. +optional
582 },
583 ],
584 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
585 # More info: https://kubernetes.io/docs/concepts/containers/images
586 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
587 # Each container must have a unique name (DNS_LABEL).
588 # Cannot be updated.
589 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
590 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
591 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
592 # environment. If a variable cannot be resolved, the reference in the input
593 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
594 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
595 # regardless of whether the variable exists or not.
596 # Cannot be updated.
597 # More info:
598 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
599 # +optional
600 &quot;A String&quot;,
601 ],
602 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
603 # contents of terminationMessagePath to populate the container status message
604 # on both success and failure. FallbackToLogsOnError will use the last chunk
605 # of container log output if the termination message file is empty and the
606 # container exited with an error. The log output is limited to 2048 bytes or
607 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
608 # +optional
609 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
610 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
611 # More info:
612 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
613 # +optional
614 # container. Some fields are present in both SecurityContext and
615 # PodSecurityContext. When both are set, the values in SecurityContext take
616 # precedence.
617 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
618 # Defaults to the default set of capabilities granted by the container
619 # runtime. +optional
620 &quot;add&quot;: [ # Added capabilities
621 # +optional
622 &quot;A String&quot;,
623 ],
624 &quot;drop&quot;: [ # Removed capabilities
625 # +optional
626 &quot;A String&quot;,
627 ],
628 },
629 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
630 # If true, the Kubelet will validate the image at runtime to ensure that it
631 # does not run as UID 0 (root) and fail to start the container if it does.
632 # If unset or false, no such validation will be performed.
633 # May also be set in PodSecurityContext. If set in both SecurityContext and
634 # PodSecurityContext, the value specified in SecurityContext takes
635 # precedence. +optional
636 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
637 # Uses runtime default if unset.
638 # May also be set in PodSecurityContext. If set in both SecurityContext and
639 # PodSecurityContext, the value specified in SecurityContext takes
640 # precedence. +optional
641 &quot;privileged&quot;: True or False, # Run container in privileged mode.
642 # Processes in privileged containers are essentially equivalent to root on
643 # the host. Defaults to false. +optional
644 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
645 # privileges than its parent process. This bool directly controls if
646 # the no_new_privs flag will be set on the container process.
647 # AllowPrivilegeEscalation is true always when the container is:
648 # 1) run as Privileged
649 # 2) has CAP_SYS_ADMIN
650 # +optional
651 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
652 # If unspecified, the container runtime will allocate a random SELinux
653 # context for each container. May also be set in PodSecurityContext. If set
654 # in both SecurityContext and PodSecurityContext, the value specified in
655 # SecurityContext takes precedence. +optional
656 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
657 # +optional
658 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
659 # +optional
660 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
661 # +optional
662 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
663 # +optional
664 },
665 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
666 # Default is false.
667 # +optional
668 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
669 # Defaults to user specified in image metadata if unspecified.
670 # May also be set in PodSecurityContext. If set in both SecurityContext and
671 # PodSecurityContext, the value specified in SecurityContext takes
672 # precedence. +optional
673 },
674 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
675 # Container will be restarted if the probe fails.
676 # Cannot be updated.
677 # More info:
678 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
679 # +optional
680 # determine whether it is alive or ready to receive traffic.
681 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
682 # having succeeded. Defaults to 3. Minimum value is 1. +optional
683 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
684 # are initiated. More info:
685 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
686 # +optional
687 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
688 # Defaults to 1 second. Minimum value is 1.
689 # More info:
690 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
691 # +optional
692 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
693 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
694 # Exec specifies the action to take.
695 # +optional
696 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
697 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
698 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
699 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
700 # explicitly call out to that shell. Exit status of 0 is treated as
701 # live/healthy and non-zero is unhealthy. +optional
702 },
703 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
704 # +optional
705 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
706 # +optional
707 { # HTTPHeader describes a custom header to be used in HTTP probes
708 &quot;value&quot;: &quot;A String&quot;, # The header field value
709 &quot;name&quot;: &quot;A String&quot;, # The header field name
710 },
711 ],
712 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
713 # +optional
714 &quot;port&quot;: { # 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.
715 # Number must be in the range 1 to 65535.
716 # Name must be an IANA_SVC_NAME.
717 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
718 # inner type. This allows you to have, for example, a JSON field that can
719 # accept a name or number.
720 &quot;type&quot;: 42, # The type of the value.
721 &quot;intVal&quot;: 42, # The int value.
722 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
723 },
724 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
725 # &quot;Host&quot; in httpHeaders instead.
726 # +optional
727 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
728 # Defaults to HTTP.
729 # +optional
730 },
731 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
732 # TCP hooks not yet supported
733 &quot;port&quot;: { # 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.
734 # Number must be in the range 1 to 65535.
735 # Name must be an IANA_SVC_NAME.
736 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
737 # inner type. This allows you to have, for example, a JSON field that can
738 # accept a name or number.
739 &quot;type&quot;: 42, # The type of the value.
740 &quot;intVal&quot;: 42, # The int value.
741 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
742 },
743 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
744 # +optional
745 },
746 },
747 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
748 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
749 # is 1. +optional
750 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
751 # Default to 10 seconds. Minimum value is 1.
752 # +optional
753 },
754 &quot;env&quot;: [ # List of environment variables to set in the container.
755 # Cannot be updated.
756 # +optional
757 { # EnvVar represents an environment variable present in a Container.
758 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
759 # using the previous defined environment variables in the container and
760 # any route environment variables. If a variable cannot be resolved,
761 # the reference in the input string will be unchanged. The $(VAR_NAME)
762 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
763 # references will never be expanded, regardless of whether the variable
764 # exists or not.
765 # Defaults to &quot;&quot;.
766 # +optional
767 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
768 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
769 #
770 # Cloud Run on GKE: supported
771 #
772 # Source for the environment variable&#x27;s value. Cannot be used if value is not
773 # empty. +optional
774 #
775 # Cloud Run on GKE: supported
776 #
777 # EnvVarSource represents a source for the value of an EnvVar.
778 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
779 #
780 # Cloud Run on GKE: supported
781 #
782 # Selects a key of a ConfigMap.
783 # +optional
784 #
785 # Cloud Run on GKE: supported
786 #
787 # Selects a key from a ConfigMap.
788 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
789 #
790 # Cloud Run on GKE: supported
791 #
792 # Specify whether the ConfigMap or its key must be defined
793 # +optional
794 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
795 #
796 # Cloud Run on GKE: supported
797 #
798 # The key to select.
799 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
800 #
801 # Cloud Run on GKE: supported
802 #
803 # The ConfigMap to select from.
804 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
805 # directly into the message. Use the &quot;name&quot; field instead.
806 # referenced object inside the same namespace.
807 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
808 # More info:
809 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
810 },
811 },
812 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
813 #
814 # Cloud Run on GKE: supported
815 #
816 # Selects a key of a secret in the pod&#x27;s namespace
817 # +optional
818 #
819 # Cloud Run on GKE: supported
820 #
821 # SecretKeySelector selects a key of a Secret.
822 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
823 # directly into the message. Use the &quot;name&quot; field instead.
824 # referenced object inside the same namespace.
825 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
826 # More info:
827 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
828 },
829 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
830 #
831 # Cloud Run on GKE: supported
832 #
833 # Specify whether the Secret or its key must be defined
834 # +optional
835 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
836 #
837 # Cloud Run on GKE: supported
838 #
839 # The key of the secret to select from. Must be a valid secret key.
840 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
841 #
842 # Cloud Run on GKE: supported
843 #
844 # The name of the secret in the pod&#x27;s namespace to select from.
845 },
846 },
847 },
848 ],
849 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
850 # Cannot be updated.
851 # More info:
852 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
853 # +optional
854 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
855 # If Requests is omitted for a container, it defaults to Limits if that is
856 # explicitly specified, otherwise to an implementation-defined value.
857 # This is a temporary field created to migrate away from the
858 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
859 # with k8s style API.
860 # This field is deprecated in favor of requests field.
861 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
862 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
863 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
864 },
865 },
866 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
867 # If Requests is omitted for a container, it defaults to Limits if that is
868 # explicitly specified, otherwise to an implementation-defined value.
869 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
870 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
871 &quot;a_key&quot;: &quot;A String&quot;,
872 },
873 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
874 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
875 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
876 &quot;a_key&quot;: &quot;A String&quot;,
877 },
878 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
879 # This is a temporary field created to migrate away from the
880 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
881 # with k8s style API.
882 # This field is deprecated in favor of limits field.
883 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
884 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
885 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
886 },
887 },
888 },
889 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
890 # Container will be removed from service endpoints if the probe fails.
891 # Cannot be updated.
892 # More info:
893 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
894 # +optional
895 # determine whether it is alive or ready to receive traffic.
896 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
897 # having succeeded. Defaults to 3. Minimum value is 1. +optional
898 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
899 # are initiated. More info:
900 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
901 # +optional
902 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
903 # Defaults to 1 second. Minimum value is 1.
904 # More info:
905 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
906 # +optional
907 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
908 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
909 # Exec specifies the action to take.
910 # +optional
911 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
912 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
913 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
914 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
915 # explicitly call out to that shell. Exit status of 0 is treated as
916 # live/healthy and non-zero is unhealthy. +optional
917 },
918 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
919 # +optional
920 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
921 # +optional
922 { # HTTPHeader describes a custom header to be used in HTTP probes
923 &quot;value&quot;: &quot;A String&quot;, # The header field value
924 &quot;name&quot;: &quot;A String&quot;, # The header field name
925 },
926 ],
927 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
928 # +optional
929 &quot;port&quot;: { # 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.
930 # Number must be in the range 1 to 65535.
931 # Name must be an IANA_SVC_NAME.
932 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
933 # inner type. This allows you to have, for example, a JSON field that can
934 # accept a name or number.
935 &quot;type&quot;: 42, # The type of the value.
936 &quot;intVal&quot;: 42, # The int value.
937 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
938 },
939 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
940 # &quot;Host&quot; in httpHeaders instead.
941 # +optional
942 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
943 # Defaults to HTTP.
944 # +optional
945 },
946 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
947 # TCP hooks not yet supported
948 &quot;port&quot;: { # 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.
949 # Number must be in the range 1 to 65535.
950 # Name must be an IANA_SVC_NAME.
951 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
952 # inner type. This allows you to have, for example, a JSON field that can
953 # accept a name or number.
954 &quot;type&quot;: 42, # The type of the value.
955 &quot;intVal&quot;: 42, # The int value.
956 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
957 },
958 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
959 # +optional
960 },
961 },
962 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
963 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
964 # is 1. +optional
965 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
966 # Default to 10 seconds. Minimum value is 1.
967 # +optional
968 },
969 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
970 # One of Always, Never, IfNotPresent.
971 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
972 # Cannot be updated.
973 # More info:
974 # https://kubernetes.io/docs/concepts/containers/images#updating-images
975 # +optional
976 },
977 ],
978 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
979 # metadata.generation instead, which is the sequence number containing the
980 # latest generation of the desired state.
981 #
982 # Read-only.
983 &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources
984 # are in for this Revision.
985 # Users must not specify this when creating a revision. It is expected
986 # that the system will manipulate this based on routability and load.
987 #
988 # Populated by the system.
989 # Read-only.
990 &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model
991 # (Single or Multi) for the Revision. Defaults to Multi.
992 # Deprecated in favor of ContainerConcurrency.
993 # +optional
994 &quot;container&quot;: { # A single application container. # Container defines the unit of execution for this Revision.
995 # In the context of a Revision, we disallow a number of the fields of
996 # this Container, including: name, ports, and volumeMounts.
997 # The runtime contract is documented here:
998 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
999 # This specifies both the container to run, the command to run in the container
1000 # and the arguments to supply to it.
1001 # Note that additional arguments may be supplied by the system to the container
1002 # at runtime.
1003 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
1004 # message will be written is mounted into the container&#x27;s filesystem. Message
1005 # written is intended to be brief final status, such as an assertion failure
1006 # message. Will be truncated by the node if greater than 4096 bytes. The
1007 # total message length across all containers will be limited to 12kb.
1008 # Defaults to /dev/termination-log.
1009 # Cannot be updated.
1010 # +optional
1011 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1012 # lifecycle events. Cannot be updated. +optional
1013 # response to container lifecycle events. For the PostStart and PreStop
1014 # lifecycle handlers, management of the container blocks until the action is
1015 # complete, unless the container process fails, in which case the handler is
1016 # aborted.
1017 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1018 # The container is terminated after the handler completes.
1019 # The reason for termination is passed to the handler.
1020 # Regardless of the outcome of the handler, the container is eventually
1021 # terminated. Other management of the container blocks until the hook
1022 # completes. More info:
1023 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1024 # +optional
1025 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
1026 # Exec specifies the action to take.
1027 # +optional
1028 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
1029 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
1030 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
1031 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
1032 # explicitly call out to that shell. Exit status of 0 is treated as
1033 # live/healthy and non-zero is unhealthy. +optional
1034 },
1035 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1036 # +optional
1037 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
1038 # +optional
1039 { # HTTPHeader describes a custom header to be used in HTTP probes
1040 &quot;value&quot;: &quot;A String&quot;, # The header field value
1041 &quot;name&quot;: &quot;A String&quot;, # The header field name
1042 },
1043 ],
1044 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
1045 # +optional
1046 &quot;port&quot;: { # 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.
1047 # Number must be in the range 1 to 65535.
1048 # Name must be an IANA_SVC_NAME.
1049 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1050 # inner type. This allows you to have, for example, a JSON field that can
1051 # accept a name or number.
1052 &quot;type&quot;: 42, # The type of the value.
1053 &quot;intVal&quot;: 42, # The int value.
1054 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1055 },
1056 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
1057 # &quot;Host&quot; in httpHeaders instead.
1058 # +optional
1059 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
1060 # Defaults to HTTP.
1061 # +optional
1062 },
1063 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1064 # TCP hooks not yet supported
1065 &quot;port&quot;: { # 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.
1066 # Number must be in the range 1 to 65535.
1067 # Name must be an IANA_SVC_NAME.
1068 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1069 # inner type. This allows you to have, for example, a JSON field that can
1070 # accept a name or number.
1071 &quot;type&quot;: 42, # The type of the value.
1072 &quot;intVal&quot;: 42, # The int value.
1073 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1074 },
1075 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
1076 # +optional
1077 },
1078 },
1079 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
1080 # handler fails, the container is terminated and restarted according to its
1081 # restart policy. Other management of the container blocks until the hook
1082 # completes. More info:
1083 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
1084 # +optional
1085 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
1086 # Exec specifies the action to take.
1087 # +optional
1088 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
1089 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
1090 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
1091 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
1092 # explicitly call out to that shell. Exit status of 0 is treated as
1093 # live/healthy and non-zero is unhealthy. +optional
1094 },
1095 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1096 # +optional
1097 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
1098 # +optional
1099 { # HTTPHeader describes a custom header to be used in HTTP probes
1100 &quot;value&quot;: &quot;A String&quot;, # The header field value
1101 &quot;name&quot;: &quot;A String&quot;, # The header field name
1102 },
1103 ],
1104 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
1105 # +optional
1106 &quot;port&quot;: { # 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.
1107 # Number must be in the range 1 to 65535.
1108 # Name must be an IANA_SVC_NAME.
1109 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1110 # inner type. This allows you to have, for example, a JSON field that can
1111 # accept a name or number.
1112 &quot;type&quot;: 42, # The type of the value.
1113 &quot;intVal&quot;: 42, # The int value.
1114 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1115 },
1116 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
1117 # &quot;Host&quot; in httpHeaders instead.
1118 # +optional
1119 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
1120 # Defaults to HTTP.
1121 # +optional
1122 },
1123 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1124 # TCP hooks not yet supported
1125 &quot;port&quot;: { # 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.
1126 # Number must be in the range 1 to 65535.
1127 # Name must be an IANA_SVC_NAME.
1128 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1129 # inner type. This allows you to have, for example, a JSON field that can
1130 # accept a name or number.
1131 &quot;type&quot;: 42, # The type of the value.
1132 &quot;intVal&quot;: 42, # The int value.
1133 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1134 },
1135 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
1136 # +optional
1137 },
1138 },
1139 },
1140 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
1141 # runtime. If this is not set, reads from stdin in the container will always
1142 # result in EOF. Default is false. +optional
1143 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
1144 # &#x27;stdin&#x27; to be true. Default is false. +optional
1145 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
1146 # Cannot be updated.
1147 # +optional
1148 { # VolumeMount describes a mounting of a Volume within a container.
1149 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
1150 # Defaults to false.
1151 # +optional
1152 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
1153 # to container and the other way around.
1154 # When not set, MountPropagationHostToContainer is used.
1155 # This field is beta in 1.10.
1156 # +optional
1157 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
1158 # not contain &#x27;:&#x27;.
1159 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
1160 # Defaults to &quot;&quot; (volume&#x27;s root).
1161 # +optional
1162 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
1163 },
1164 ],
1165 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
1166 # This is an alpha feature and may change in the future.
1167 # +optional
1168 { # volumeDevice describes a mapping of a raw block device within a container.
1169 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
1170 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
1171 # mapped to.
1172 },
1173 ],
1174 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
1175 # the system additional information about the network connections a
1176 # container uses, but is primarily informational. Not specifying a port here
1177 # DOES NOT prevent that port from being exposed. Any port which is
1178 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
1179 # accessible from the network.
1180 # Cannot be updated.
1181 # +optional
1182 { # ContainerPort represents a network port in a single container.
1183 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
1184 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
1185 # If HostNetwork is specified, this must match ContainerPort.
1186 # Most containers do not need this.
1187 # +optional
1188 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
1189 # This must be a valid port number, 0 &lt; x &lt; 65536.
1190 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
1191 # Defaults to &quot;TCP&quot;.
1192 # +optional
1193 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
1194 # +optional
1195 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
1196 # named port in a pod must have a unique name. Name for the port that can be
1197 # referred to by services.
1198 # +optional
1199 },
1200 ],
1201 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
1202 # If not specified, the container runtime&#x27;s default will be used, which
1203 # might be configured in the container image.
1204 # Cannot be updated.
1205 # +optional
1206 &quot;args&quot;: [ # Arguments to the entrypoint.
1207 # The docker image&#x27;s CMD is used if this is not provided.
1208 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
1209 # environment. If a variable cannot be resolved, the reference in the input
1210 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1211 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1212 # regardless of whether the variable exists or not.
1213 # Cannot be updated.
1214 # More info:
1215 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1216 # +optional
1217 &quot;A String&quot;,
1218 ],
1219 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
1220 # been opened by a single attach. When stdin is true the stdin stream will
1221 # remain open across multiple attach sessions. If stdinOnce is set to true,
1222 # stdin is opened on container start, is empty until the first client
1223 # attaches to stdin, and then remains open and accepts data until the client
1224 # disconnects, at which time stdin is closed and remains closed until the
1225 # container is restarted. If this flag is false, a container processes that
1226 # reads from stdin will never receive an EOF. Default is false +optional
1227 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
1228 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
1229 # will be reported as an event when the container is starting. When a key
1230 # exists in multiple sources, the value associated with the last source will
1231 # take precedence. Values defined by an Env with a duplicate key will take
1232 # precedence. Cannot be updated. +optional
1233 { # EnvFromSource represents the source of a set of ConfigMaps
1234 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
1235 # +optional
1236 # variables with.
1237 #
1238 # The contents of the target ConfigMap&#x27;s Data field will represent the
1239 # key-value pairs as environment variables.
1240 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1241 #
1242 # Cloud Run for Anthos: supported
1243 #
1244 # The ConfigMap to select from.
1245 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1246 # directly into the message. Use the &quot;name&quot; field instead.
1247 # referenced object inside the same namespace.
1248 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
1249 # More info:
1250 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1251 },
1252 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
1253 #
1254 # Cloud Run for Anthos: supported
1255 #
1256 # Specify whether the ConfigMap must be defined
1257 # +optional
1258 },
1259 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
1260 # +optional
1261 # variables with.
1262 #
1263 # The contents of the target Secret&#x27;s Data field will represent the
1264 # key-value pairs as environment variables.
1265 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1266 # directly into the message. Use the &quot;name&quot; field instead.
1267 # referenced object inside the same namespace.
1268 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
1269 # More info:
1270 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1271 },
1272 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
1273 #
1274 # Cloud Run for Anthos: supported
1275 #
1276 # Specify whether the Secret must be defined
1277 # +optional
1278 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1279 #
1280 # Cloud Run for Anthos: supported
1281 #
1282 # The Secret to select from.
1283 },
1284 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
1285 # C_IDENTIFIER. +optional
1286 },
1287 ],
1288 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
1289 # More info: https://kubernetes.io/docs/concepts/containers/images
1290 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
1291 # Each container must have a unique name (DNS_LABEL).
1292 # Cannot be updated.
1293 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
1294 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
1295 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
1296 # environment. If a variable cannot be resolved, the reference in the input
1297 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
1298 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
1299 # regardless of whether the variable exists or not.
1300 # Cannot be updated.
1301 # More info:
1302 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
1303 # +optional
1304 &quot;A String&quot;,
1305 ],
1306 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
1307 # contents of terminationMessagePath to populate the container status message
1308 # on both success and failure. FallbackToLogsOnError will use the last chunk
1309 # of container log output if the termination message file is empty and the
1310 # container exited with an error. The log output is limited to 2048 bytes or
1311 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
1312 # +optional
1313 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
1314 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
1315 # More info:
1316 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1317 # +optional
1318 # container. Some fields are present in both SecurityContext and
1319 # PodSecurityContext. When both are set, the values in SecurityContext take
1320 # precedence.
1321 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
1322 # Defaults to the default set of capabilities granted by the container
1323 # runtime. +optional
1324 &quot;add&quot;: [ # Added capabilities
1325 # +optional
1326 &quot;A String&quot;,
1327 ],
1328 &quot;drop&quot;: [ # Removed capabilities
1329 # +optional
1330 &quot;A String&quot;,
1331 ],
1332 },
1333 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
1334 # If true, the Kubelet will validate the image at runtime to ensure that it
1335 # does not run as UID 0 (root) and fail to start the container if it does.
1336 # If unset or false, no such validation will be performed.
1337 # May also be set in PodSecurityContext. If set in both SecurityContext and
1338 # PodSecurityContext, the value specified in SecurityContext takes
1339 # precedence. +optional
1340 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
1341 # Uses runtime default if unset.
1342 # May also be set in PodSecurityContext. If set in both SecurityContext and
1343 # PodSecurityContext, the value specified in SecurityContext takes
1344 # precedence. +optional
1345 &quot;privileged&quot;: True or False, # Run container in privileged mode.
1346 # Processes in privileged containers are essentially equivalent to root on
1347 # the host. Defaults to false. +optional
1348 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
1349 # privileges than its parent process. This bool directly controls if
1350 # the no_new_privs flag will be set on the container process.
1351 # AllowPrivilegeEscalation is true always when the container is:
1352 # 1) run as Privileged
1353 # 2) has CAP_SYS_ADMIN
1354 # +optional
1355 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
1356 # If unspecified, the container runtime will allocate a random SELinux
1357 # context for each container. May also be set in PodSecurityContext. If set
1358 # in both SecurityContext and PodSecurityContext, the value specified in
1359 # SecurityContext takes precedence. +optional
1360 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
1361 # +optional
1362 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
1363 # +optional
1364 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
1365 # +optional
1366 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
1367 # +optional
1368 },
1369 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
1370 # Default is false.
1371 # +optional
1372 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
1373 # Defaults to user specified in image metadata if unspecified.
1374 # May also be set in PodSecurityContext. If set in both SecurityContext and
1375 # PodSecurityContext, the value specified in SecurityContext takes
1376 # precedence. +optional
1377 },
1378 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
1379 # Container will be restarted if the probe fails.
1380 # Cannot be updated.
1381 # More info:
1382 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1383 # +optional
1384 # determine whether it is alive or ready to receive traffic.
1385 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
1386 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1387 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
1388 # are initiated. More info:
1389 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1390 # +optional
1391 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
1392 # Defaults to 1 second. Minimum value is 1.
1393 # More info:
1394 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1395 # +optional
1396 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1397 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
1398 # Exec specifies the action to take.
1399 # +optional
1400 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
1401 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
1402 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
1403 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
1404 # explicitly call out to that shell. Exit status of 0 is treated as
1405 # live/healthy and non-zero is unhealthy. +optional
1406 },
1407 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1408 # +optional
1409 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
1410 # +optional
1411 { # HTTPHeader describes a custom header to be used in HTTP probes
1412 &quot;value&quot;: &quot;A String&quot;, # The header field value
1413 &quot;name&quot;: &quot;A String&quot;, # The header field name
1414 },
1415 ],
1416 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
1417 # +optional
1418 &quot;port&quot;: { # 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.
1419 # Number must be in the range 1 to 65535.
1420 # Name must be an IANA_SVC_NAME.
1421 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1422 # inner type. This allows you to have, for example, a JSON field that can
1423 # accept a name or number.
1424 &quot;type&quot;: 42, # The type of the value.
1425 &quot;intVal&quot;: 42, # The int value.
1426 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1427 },
1428 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
1429 # &quot;Host&quot; in httpHeaders instead.
1430 # +optional
1431 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
1432 # Defaults to HTTP.
1433 # +optional
1434 },
1435 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1436 # TCP hooks not yet supported
1437 &quot;port&quot;: { # 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.
1438 # Number must be in the range 1 to 65535.
1439 # Name must be an IANA_SVC_NAME.
1440 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1441 # inner type. This allows you to have, for example, a JSON field that can
1442 # accept a name or number.
1443 &quot;type&quot;: 42, # The type of the value.
1444 &quot;intVal&quot;: 42, # The int value.
1445 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1446 },
1447 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
1448 # +optional
1449 },
1450 },
1451 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
1452 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1453 # is 1. +optional
1454 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
1455 # Default to 10 seconds. Minimum value is 1.
1456 # +optional
1457 },
1458 &quot;env&quot;: [ # List of environment variables to set in the container.
1459 # Cannot be updated.
1460 # +optional
1461 { # EnvVar represents an environment variable present in a Container.
1462 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
1463 # using the previous defined environment variables in the container and
1464 # any route environment variables. If a variable cannot be resolved,
1465 # the reference in the input string will be unchanged. The $(VAR_NAME)
1466 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
1467 # references will never be expanded, regardless of whether the variable
1468 # exists or not.
1469 # Defaults to &quot;&quot;.
1470 # +optional
1471 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
1472 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1473 #
1474 # Cloud Run on GKE: supported
1475 #
1476 # Source for the environment variable&#x27;s value. Cannot be used if value is not
1477 # empty. +optional
1478 #
1479 # Cloud Run on GKE: supported
1480 #
1481 # EnvVarSource represents a source for the value of an EnvVar.
1482 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1483 #
1484 # Cloud Run on GKE: supported
1485 #
1486 # Selects a key of a ConfigMap.
1487 # +optional
1488 #
1489 # Cloud Run on GKE: supported
1490 #
1491 # Selects a key from a ConfigMap.
1492 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
1493 #
1494 # Cloud Run on GKE: supported
1495 #
1496 # Specify whether the ConfigMap or its key must be defined
1497 # +optional
1498 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1499 #
1500 # Cloud Run on GKE: supported
1501 #
1502 # The key to select.
1503 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1504 #
1505 # Cloud Run on GKE: supported
1506 #
1507 # The ConfigMap to select from.
1508 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1509 # directly into the message. Use the &quot;name&quot; field instead.
1510 # referenced object inside the same namespace.
1511 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
1512 # More info:
1513 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1514 },
1515 },
1516 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
1517 #
1518 # Cloud Run on GKE: supported
1519 #
1520 # Selects a key of a secret in the pod&#x27;s namespace
1521 # +optional
1522 #
1523 # Cloud Run on GKE: supported
1524 #
1525 # SecretKeySelector selects a key of a Secret.
1526 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
1527 # directly into the message. Use the &quot;name&quot; field instead.
1528 # referenced object inside the same namespace.
1529 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
1530 # More info:
1531 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1532 },
1533 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
1534 #
1535 # Cloud Run on GKE: supported
1536 #
1537 # Specify whether the Secret or its key must be defined
1538 # +optional
1539 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1540 #
1541 # Cloud Run on GKE: supported
1542 #
1543 # The key of the secret to select from. Must be a valid secret key.
1544 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
1545 #
1546 # Cloud Run on GKE: supported
1547 #
1548 # The name of the secret in the pod&#x27;s namespace to select from.
1549 },
1550 },
1551 },
1552 ],
1553 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
1554 # Cannot be updated.
1555 # More info:
1556 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
1557 # +optional
1558 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
1559 # If Requests is omitted for a container, it defaults to Limits if that is
1560 # explicitly specified, otherwise to an implementation-defined value.
1561 # This is a temporary field created to migrate away from the
1562 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
1563 # with k8s style API.
1564 # This field is deprecated in favor of requests field.
1565 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
1566 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1567 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1568 },
1569 },
1570 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
1571 # If Requests is omitted for a container, it defaults to Limits if that is
1572 # explicitly specified, otherwise to an implementation-defined value.
1573 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
1574 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1575 &quot;a_key&quot;: &quot;A String&quot;,
1576 },
1577 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
1578 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
1579 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
1580 &quot;a_key&quot;: &quot;A String&quot;,
1581 },
1582 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
1583 # This is a temporary field created to migrate away from the
1584 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
1585 # with k8s style API.
1586 # This field is deprecated in favor of limits field.
1587 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
1588 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
1589 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
1590 },
1591 },
1592 },
1593 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
1594 # Container will be removed from service endpoints if the probe fails.
1595 # Cannot be updated.
1596 # More info:
1597 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1598 # +optional
1599 # determine whether it is alive or ready to receive traffic.
1600 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
1601 # having succeeded. Defaults to 3. Minimum value is 1. +optional
1602 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
1603 # are initiated. More info:
1604 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1605 # +optional
1606 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
1607 # Defaults to 1 second. Minimum value is 1.
1608 # More info:
1609 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
1610 # +optional
1611 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
1612 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
1613 # Exec specifies the action to take.
1614 # +optional
1615 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
1616 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
1617 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
1618 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
1619 # explicitly call out to that shell. Exit status of 0 is treated as
1620 # live/healthy and non-zero is unhealthy. +optional
1621 },
1622 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1623 # +optional
1624 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
1625 # +optional
1626 { # HTTPHeader describes a custom header to be used in HTTP probes
1627 &quot;value&quot;: &quot;A String&quot;, # The header field value
1628 &quot;name&quot;: &quot;A String&quot;, # The header field name
1629 },
1630 ],
1631 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
1632 # +optional
1633 &quot;port&quot;: { # 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.
1634 # Number must be in the range 1 to 65535.
1635 # Name must be an IANA_SVC_NAME.
1636 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1637 # inner type. This allows you to have, for example, a JSON field that can
1638 # accept a name or number.
1639 &quot;type&quot;: 42, # The type of the value.
1640 &quot;intVal&quot;: 42, # The int value.
1641 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1642 },
1643 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
1644 # &quot;Host&quot; in httpHeaders instead.
1645 # +optional
1646 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
1647 # Defaults to HTTP.
1648 # +optional
1649 },
1650 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
1651 # TCP hooks not yet supported
1652 &quot;port&quot;: { # 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.
1653 # Number must be in the range 1 to 65535.
1654 # Name must be an IANA_SVC_NAME.
1655 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1656 # inner type. This allows you to have, for example, a JSON field that can
1657 # accept a name or number.
1658 &quot;type&quot;: 42, # The type of the value.
1659 &quot;intVal&quot;: 42, # The int value.
1660 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1661 },
1662 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
1663 # +optional
1664 },
1665 },
1666 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
1667 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
1668 # is 1. +optional
1669 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
1670 # Default to 10 seconds. Minimum value is 1.
1671 # +optional
1672 },
1673 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
1674 # One of Always, Never, IfNotPresent.
1675 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
1676 # Cannot be updated.
1677 # More info:
1678 # https://kubernetes.io/docs/concepts/containers/images#updating-images
1679 # +optional
1680 },
1681 &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
1682 # responding to a request.
1683 # Not currently used by Cloud Run.
1684 &quot;volumes&quot;: [
1685 { # Volume represents a named volume in a container.
1686 &quot;configMap&quot;: { # Adapts a ConfigMap into a volume.
1687 # The contents of the target ConfigMap&#x27;s Data field will be presented in a
1688 # volume as files using the keys in the Data field as the file names, unless
1689 # the items element is populated with specific mappings of keys to paths.
1690 &quot;name&quot;: &quot;A String&quot;, # Name of the config.
1691 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
1692 # 0777. Defaults to 0644. Directories within the path are not affected by
1693 # this setting. This might be in conflict with other options that affect the
1694 # file mode, like fsGroup, and the result can be other mode bits set.
1695 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
1696 # Secret will be projected into the volume as a file whose name is the
1697 # key and content is the value. If specified, the listed keys will be
1698 # projected into the specified paths, and unlisted keys will not be
1699 # present. If a key is specified which is not present in the Secret,
1700 # the volume setup will error unless it is marked optional.
1701 { # Maps a string key to a path within a volume.
1702 &quot;key&quot;: &quot;A String&quot;, # The key to project.
1703 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
1704 # May not be an absolute path.
1705 # May not contain the path element &#x27;..&#x27;.
1706 # May not start with the string &#x27;..&#x27;.
1707 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
1708 # specified, the volume defaultMode will be used. This might be in conflict
1709 # with other options that affect the file mode, like fsGroup, and the result
1710 # can be other mode bits set. +optional
1711 },
1712 ],
1713 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1714 },
1715 &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
1716 &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume
1717 # as files using the keys in the Data field as the file names.
1718 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
1719 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
1720 # 0777. Defaults to 0644. Directories within the path are not affected by
1721 # this setting. This might be in conflict with other options that affect the
1722 # file mode, like fsGroup, and the result can be other mode bits set.
1723 &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
1724 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
1725 # Secret will be projected into the volume as a file whose name is the
1726 # key and content is the value. If specified, the listed keys will be
1727 # projected into the specified paths, and unlisted keys will not be
1728 # present. If a key is specified which is not present in the Secret,
1729 # the volume setup will error unless it is marked optional.
1730 { # Maps a string key to a path within a volume.
1731 &quot;key&quot;: &quot;A String&quot;, # The key to project.
1732 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
1733 # May not be an absolute path.
1734 # May not contain the path element &#x27;..&#x27;.
1735 # May not start with the string &#x27;..&#x27;.
1736 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
1737 # specified, the volume defaultMode will be used. This might be in conflict
1738 # with other options that affect the file mode, like fsGroup, and the result
1739 # can be other mode bits set. +optional
1740 },
1741 ],
1742 },
1743 },
1744 ],
1745 },
1746 },
1747 &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001748 # be stamped out. The template references the container image, and may also
1749 # include labels and annotations that should be attached to the Revision.
1750 # To correlate a Revision, and/or to force a Revision to be created when the
Bu Sun Kim65020912020-05-20 12:08:20 -07001751 # spec doesn&#x27;t otherwise change, a nonce label may be provided in the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001752 # template metadata. For more details, see:
1753 # https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions
1754 #
1755 # Cloud Run does not currently support referencing a build that is
1756 # responsible for materializing the container image from source.
1757 # from a template. Based on:
1758 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
Bu Sun Kim65020912020-05-20 12:08:20 -07001759 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001760 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07001761 # To set minimum instances for this revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07001762 # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
Dan O'Mearadd494642020-05-01 07:42:23 -07001763 # To set maximum instances for this revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07001764 # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
Dan O'Mearadd494642020-05-01 07:42:23 -07001765 # To set Cloud SQL connections for the revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07001766 # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
Dan O'Mearadd494642020-05-01 07:42:23 -07001767 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001768 # all objects users must create.
Bu Sun Kim65020912020-05-20 12:08:20 -07001769 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
1770 # may be set by external tools to store and retrieve arbitrary metadata. They
1771 # are not queryable and should be preserved when modifying objects. More
1772 # info: http://kubernetes.io/docs/user-guide/annotations +optional
1773 &quot;a_key&quot;: &quot;A String&quot;,
1774 },
1775 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
1776 #
1777 # GenerateName is an optional prefix, used by the server, to generate a
1778 # unique name ONLY IF the Name field has not been provided. If this field is
1779 # used, the name returned to the client will be different than the name
1780 # passed. This value will also be combined with a unique suffix. The provided
1781 # value has the same validation rules as the Name field, and may be truncated
1782 # by the length of the suffix required to make the value unique on the
1783 # server.
1784 #
1785 # If this field is specified and the generated name exists, the server will
1786 # NOT return a 409 - instead, it will either return 201 Created or 500 with
1787 # Reason ServerTimeout indicating a unique name could not be found in the
1788 # time allotted, and the client should retry (optionally after the time
1789 # indicated in the Retry-After header).
1790 #
1791 # Applied only if Name is not specified.
1792 # More info:
1793 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001794 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001795 # string generateName = 2;
1796 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001797 # Is required when creating
1798 # resources, although some resources may allow a client to request the
1799 # generation of an appropriate name automatically. Name is primarily intended
1800 # for creation idempotence and configuration definition. Cannot be updated.
1801 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1802 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001803 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
1804 #
1805 # The name of the cluster which the object belongs to.
1806 # This is used to distinguish resources with same name and namespace in
1807 # different clusters. This field is not set anywhere right now and apiserver
1808 # is going to ignore it if set in create or update request. +optional
1809 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
1810 #
1811 # Number of seconds allowed for this object to gracefully terminate before
1812 # it will be removed from the system. Only set when deletionTimestamp is also
1813 # set. May only be shortened. Read-only. +optional
1814 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
1815 #
1816 # Must be empty before the object is deleted from the registry. Each entry
1817 # is an identifier for the responsible component that will remove the entry
1818 # from the list. If the deletionTimestamp of the object is non-nil, entries
1819 # in this list can only be removed.
1820 # +optional
1821 # +patchStrategy=merge
1822 &quot;A String&quot;,
1823 ],
1824 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001825 # deleted. This field is set by the server when a graceful deletion is
1826 # requested by the user, and is not directly settable by a client. The
1827 # resource is expected to be deleted (no longer visible from resource lists,
1828 # and not reachable by name) after the time in this field, once the
1829 # finalizers list is empty. As long as the finalizers list contains items,
1830 # deletion is blocked. Once the deletionTimestamp is set, this value may not
1831 # be unset or be set further into the future, although it may be shortened or
1832 # the resource may be deleted prior to this time. For example, a user may
1833 # request that a pod is deleted in 30 seconds. The Kubelet will react by
1834 # sending a graceful termination signal to the containers in the pod. After
1835 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
1836 # to the container and after cleanup, remove the pod from the API. In the
1837 # presence of network partitions, this object may still exist after this
1838 # timestamp, until an administrator or automated process can determine the
1839 # resource is fully terminated.
1840 # If not set, graceful deletion of the object has not been requested.
1841 #
1842 # Populated by the system when a graceful deletion is requested.
1843 # Read-only.
1844 # More info:
1845 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1846 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001847 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
1848 # been deleted, this object will be garbage collected.
1849 # +optional
1850 { # OwnerReference contains enough information to let you identify an owning
1851 # object. Currently, an owning object must be in the same namespace, so there
1852 # is no namespace field.
1853 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
1854 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
1855 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1856 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
1857 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1858 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
1859 # +optional
1860 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
1861 # More info:
1862 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
1863 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
1864 # the owner cannot be deleted from the key-value store until this
1865 # reference is removed.
1866 # Defaults to false.
1867 # To set this field, a user needs &quot;delete&quot; permission of the owner,
1868 # otherwise 422 (Unprocessable Entity) will be returned.
1869 # +optional
1870 },
1871 ],
1872 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
1873 # object was created. It is not guaranteed to be set in happens-before order
1874 # across separate operations. Clients may not set this value. It is
1875 # represented in RFC3339 form and is in UTC.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001876 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001877 # Populated by the system.
1878 # Read-only.
1879 # Null for lists.
1880 # More info:
1881 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1882 # +optional
1883 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001884 # (scope and select) objects. May match selectors of replication controllers
1885 # and routes.
1886 # More info: http://kubernetes.io/docs/user-guide/labels
1887 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001888 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001889 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001890 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001891 # Populated by the system. Read-only.
1892 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001893 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001894 # can be used by clients to determine when objects have changed. May be used
1895 # for optimistic concurrency, change detection, and the watch operation on a
1896 # resource or set of resources. Clients must treat these values as opaque and
1897 # passed unmodified back to the server. They may only be valid for a
1898 # particular resource or set of resources.
1899 #
1900 # Populated by the system.
1901 # Read-only.
1902 # Value must be treated as opaque by clients and .
1903 # More info:
1904 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
1905 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001906 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001907 # generated by the server on successful creation of a resource and is not
1908 # allowed to change on PUT operations.
1909 #
1910 # Populated by the system.
1911 # Read-only.
1912 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1913 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001914 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
Dan O'Mearadd494642020-05-01 07:42:23 -07001915 # Populated by the system.
1916 # Read-only.
Dan O'Mearadd494642020-05-01 07:42:23 -07001917 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001918 # string selfLink = 4;
1919 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
1920 # Cloud Run region. In Cloud Run the namespace must be equal to either the
1921 # project ID or project number.
1922 },
1923 &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
1924 &quot;containerConcurrency&quot;: 42, # (Optional)
Dan O'Mearadd494642020-05-01 07:42:23 -07001925 #
1926 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
1927 # requests per container instance of the Revision.
1928 #
1929 # Cloud Run fully managed: supported, defaults to 80
1930 #
1931 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
1932 # to the application is not limited, and the system decides the
1933 # target concurrency for the autoscaler.
Bu Sun Kim65020912020-05-20 12:08:20 -07001934 &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision
1935 # of the service. The service account represents the identity of the
1936 # running revision, and determines what permissions the revision has. If
1937 # not provided, the revision will use the project&#x27;s default service account.
1938 &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001939 # for this Revision. In the context of a Revision, we disallow a number of
1940 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -07001941 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001942 { # A single application container.
1943 # This specifies both the container to run, the command to run in the container
1944 # and the arguments to supply to it.
1945 # Note that additional arguments may be supplied by the system to the container
1946 # at runtime.
Bu Sun Kim65020912020-05-20 12:08:20 -07001947 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
1948 # message will be written is mounted into the container&#x27;s filesystem. Message
1949 # written is intended to be brief final status, such as an assertion failure
1950 # message. Will be truncated by the node if greater than 4096 bytes. The
1951 # total message length across all containers will be limited to 12kb.
1952 # Defaults to /dev/termination-log.
Dan O'Mearadd494642020-05-01 07:42:23 -07001953 # Cannot be updated.
Dan O'Mearadd494642020-05-01 07:42:23 -07001954 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001955 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
1956 # lifecycle events. Cannot be updated. +optional
1957 # response to container lifecycle events. For the PostStart and PreStop
1958 # lifecycle handlers, management of the container blocks until the action is
1959 # complete, unless the container process fails, in which case the handler is
1960 # aborted.
1961 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
1962 # The container is terminated after the handler completes.
1963 # The reason for termination is passed to the handler.
1964 # Regardless of the outcome of the handler, the container is eventually
1965 # terminated. Other management of the container blocks until the hook
1966 # completes. More info:
1967 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
Dan O'Mearadd494642020-05-01 07:42:23 -07001968 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001969 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
Dan O'Mearadd494642020-05-01 07:42:23 -07001970 # Exec specifies the action to take.
1971 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07001972 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
1973 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
1974 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
1975 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
Dan O'Mearadd494642020-05-01 07:42:23 -07001976 # explicitly call out to that shell. Exit status of 0 is treated as
1977 # live/healthy and non-zero is unhealthy. +optional
1978 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001979 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
1980 # +optional
1981 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
1982 # +optional
1983 { # HTTPHeader describes a custom header to be used in HTTP probes
1984 &quot;value&quot;: &quot;A String&quot;, # The header field value
1985 &quot;name&quot;: &quot;A String&quot;, # The header field name
1986 },
1987 ],
1988 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
1989 # +optional
1990 &quot;port&quot;: { # 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.
1991 # Number must be in the range 1 to 65535.
1992 # Name must be an IANA_SVC_NAME.
1993 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1994 # inner type. This allows you to have, for example, a JSON field that can
1995 # accept a name or number.
1996 &quot;type&quot;: 42, # The type of the value.
1997 &quot;intVal&quot;: 42, # The int value.
1998 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
1999 },
2000 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2001 # &quot;Host&quot; in httpHeaders instead.
2002 # +optional
2003 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2004 # Defaults to HTTP.
2005 # +optional
2006 },
2007 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2008 # TCP hooks not yet supported
2009 &quot;port&quot;: { # 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.
2010 # Number must be in the range 1 to 65535.
2011 # Name must be an IANA_SVC_NAME.
2012 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2013 # inner type. This allows you to have, for example, a JSON field that can
2014 # accept a name or number.
2015 &quot;type&quot;: 42, # The type of the value.
2016 &quot;intVal&quot;: 42, # The int value.
2017 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2018 },
2019 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2020 # +optional
2021 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002022 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002023 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
2024 # handler fails, the container is terminated and restarted according to its
2025 # restart policy. Other management of the container blocks until the hook
2026 # completes. More info:
2027 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
Dan O'Mearadd494642020-05-01 07:42:23 -07002028 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002029 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
2030 # Exec specifies the action to take.
2031 # +optional
2032 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
2033 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
2034 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
2035 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
2036 # explicitly call out to that shell. Exit status of 0 is treated as
2037 # live/healthy and non-zero is unhealthy. +optional
2038 },
2039 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2040 # +optional
2041 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
2042 # +optional
2043 { # HTTPHeader describes a custom header to be used in HTTP probes
2044 &quot;value&quot;: &quot;A String&quot;, # The header field value
2045 &quot;name&quot;: &quot;A String&quot;, # The header field name
2046 },
2047 ],
2048 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
2049 # +optional
2050 &quot;port&quot;: { # 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.
2051 # Number must be in the range 1 to 65535.
2052 # Name must be an IANA_SVC_NAME.
2053 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2054 # inner type. This allows you to have, for example, a JSON field that can
2055 # accept a name or number.
2056 &quot;type&quot;: 42, # The type of the value.
2057 &quot;intVal&quot;: 42, # The int value.
2058 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2059 },
2060 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2061 # &quot;Host&quot; in httpHeaders instead.
2062 # +optional
2063 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2064 # Defaults to HTTP.
2065 # +optional
2066 },
2067 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2068 # TCP hooks not yet supported
2069 &quot;port&quot;: { # 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.
2070 # Number must be in the range 1 to 65535.
2071 # Name must be an IANA_SVC_NAME.
2072 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2073 # inner type. This allows you to have, for example, a JSON field that can
2074 # accept a name or number.
2075 &quot;type&quot;: 42, # The type of the value.
2076 &quot;intVal&quot;: 42, # The int value.
2077 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2078 },
2079 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2080 # +optional
2081 },
2082 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002083 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002084 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
2085 # runtime. If this is not set, reads from stdin in the container will always
2086 # result in EOF. Default is false. +optional
2087 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
2088 # &#x27;stdin&#x27; to be true. Default is false. +optional
2089 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
2090 # Cannot be updated.
2091 # +optional
2092 { # VolumeMount describes a mounting of a Volume within a container.
2093 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2094 # Defaults to false.
2095 # +optional
2096 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
2097 # to container and the other way around.
2098 # When not set, MountPropagationHostToContainer is used.
2099 # This field is beta in 1.10.
2100 # +optional
2101 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
2102 # not contain &#x27;:&#x27;.
2103 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
2104 # Defaults to &quot;&quot; (volume&#x27;s root).
2105 # +optional
2106 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
2107 },
2108 ],
2109 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
2110 # This is an alpha feature and may change in the future.
2111 # +optional
2112 { # volumeDevice describes a mapping of a raw block device within a container.
2113 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
2114 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
2115 # mapped to.
2116 },
2117 ],
2118 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
2119 # the system additional information about the network connections a
2120 # container uses, but is primarily informational. Not specifying a port here
2121 # DOES NOT prevent that port from being exposed. Any port which is
2122 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
2123 # accessible from the network.
2124 # Cannot be updated.
2125 # +optional
2126 { # ContainerPort represents a network port in a single container.
2127 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
2128 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
2129 # If HostNetwork is specified, this must match ContainerPort.
2130 # Most containers do not need this.
2131 # +optional
2132 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
2133 # This must be a valid port number, 0 &lt; x &lt; 65536.
2134 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
2135 # Defaults to &quot;TCP&quot;.
2136 # +optional
2137 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
2138 # +optional
2139 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2140 # named port in a pod must have a unique name. Name for the port that can be
2141 # referred to by services.
2142 # +optional
2143 },
2144 ],
2145 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
2146 # If not specified, the container runtime&#x27;s default will be used, which
2147 # might be configured in the container image.
2148 # Cannot be updated.
2149 # +optional
2150 &quot;args&quot;: [ # Arguments to the entrypoint.
2151 # The docker image&#x27;s CMD is used if this is not provided.
2152 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
Dan O'Mearadd494642020-05-01 07:42:23 -07002153 # environment. If a variable cannot be resolved, the reference in the input
2154 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2155 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2156 # regardless of whether the variable exists or not.
2157 # Cannot be updated.
2158 # More info:
2159 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2160 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002161 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07002162 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002163 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
Dan O'Mearadd494642020-05-01 07:42:23 -07002164 # been opened by a single attach. When stdin is true the stdin stream will
2165 # remain open across multiple attach sessions. If stdinOnce is set to true,
2166 # stdin is opened on container start, is empty until the first client
2167 # attaches to stdin, and then remains open and accepts data until the client
2168 # disconnects, at which time stdin is closed and remains closed until the
2169 # container is restarted. If this flag is false, a container processes that
2170 # reads from stdin will never receive an EOF. Default is false +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002171 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
2172 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
2173 # will be reported as an event when the container is starting. When a key
2174 # exists in multiple sources, the value associated with the last source will
2175 # take precedence. Values defined by an Env with a duplicate key will take
2176 # precedence. Cannot be updated. +optional
2177 { # EnvFromSource represents the source of a set of ConfigMaps
2178 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2179 # +optional
2180 # variables with.
2181 #
2182 # The contents of the target ConfigMap&#x27;s Data field will represent the
2183 # key-value pairs as environment variables.
2184 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2185 #
2186 # Cloud Run for Anthos: supported
2187 #
2188 # The ConfigMap to select from.
2189 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2190 # directly into the message. Use the &quot;name&quot; field instead.
2191 # referenced object inside the same namespace.
2192 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2193 # More info:
2194 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2195 },
2196 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
2197 #
2198 # Cloud Run for Anthos: supported
2199 #
2200 # Specify whether the ConfigMap must be defined
2201 # +optional
2202 },
2203 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
2204 # +optional
2205 # variables with.
2206 #
2207 # The contents of the target Secret&#x27;s Data field will represent the
2208 # key-value pairs as environment variables.
2209 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2210 # directly into the message. Use the &quot;name&quot; field instead.
2211 # referenced object inside the same namespace.
2212 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2213 # More info:
2214 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2215 },
2216 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
2217 #
2218 # Cloud Run for Anthos: supported
2219 #
2220 # Specify whether the Secret must be defined
2221 # +optional
2222 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2223 #
2224 # Cloud Run for Anthos: supported
2225 #
2226 # The Secret to select from.
2227 },
2228 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
2229 # C_IDENTIFIER. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002230 },
2231 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002232 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
2233 # More info: https://kubernetes.io/docs/concepts/containers/images
2234 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
2235 # Each container must have a unique name (DNS_LABEL).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002236 # Cannot be updated.
Bu Sun Kim65020912020-05-20 12:08:20 -07002237 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
2238 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
2239 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002240 # environment. If a variable cannot be resolved, the reference in the input
2241 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2242 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2243 # regardless of whether the variable exists or not.
2244 # Cannot be updated.
2245 # More info:
2246 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2247 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002248 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002249 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002250 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
2251 # contents of terminationMessagePath to populate the container status message
2252 # on both success and failure. FallbackToLogsOnError will use the last chunk
2253 # of container log output if the termination message file is empty and the
2254 # container exited with an error. The log output is limited to 2048 bytes or
2255 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2256 # +optional
2257 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
2258 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
2259 # More info:
2260 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2261 # +optional
2262 # container. Some fields are present in both SecurityContext and
2263 # PodSecurityContext. When both are set, the values in SecurityContext take
2264 # precedence.
2265 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
2266 # Defaults to the default set of capabilities granted by the container
2267 # runtime. +optional
2268 &quot;add&quot;: [ # Added capabilities
2269 # +optional
2270 &quot;A String&quot;,
2271 ],
2272 &quot;drop&quot;: [ # Removed capabilities
2273 # +optional
2274 &quot;A String&quot;,
2275 ],
2276 },
2277 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
2278 # If true, the Kubelet will validate the image at runtime to ensure that it
2279 # does not run as UID 0 (root) and fail to start the container if it does.
2280 # If unset or false, no such validation will be performed.
2281 # May also be set in PodSecurityContext. If set in both SecurityContext and
2282 # PodSecurityContext, the value specified in SecurityContext takes
2283 # precedence. +optional
2284 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
2285 # Uses runtime default if unset.
2286 # May also be set in PodSecurityContext. If set in both SecurityContext and
2287 # PodSecurityContext, the value specified in SecurityContext takes
2288 # precedence. +optional
2289 &quot;privileged&quot;: True or False, # Run container in privileged mode.
2290 # Processes in privileged containers are essentially equivalent to root on
2291 # the host. Defaults to false. +optional
2292 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
2293 # privileges than its parent process. This bool directly controls if
2294 # the no_new_privs flag will be set on the container process.
2295 # AllowPrivilegeEscalation is true always when the container is:
2296 # 1) run as Privileged
2297 # 2) has CAP_SYS_ADMIN
2298 # +optional
2299 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
2300 # If unspecified, the container runtime will allocate a random SELinux
2301 # context for each container. May also be set in PodSecurityContext. If set
2302 # in both SecurityContext and PodSecurityContext, the value specified in
2303 # SecurityContext takes precedence. +optional
2304 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
2305 # +optional
2306 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
2307 # +optional
2308 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
2309 # +optional
2310 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
2311 # +optional
2312 },
2313 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
2314 # Default is false.
2315 # +optional
2316 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
2317 # Defaults to user specified in image metadata if unspecified.
2318 # May also be set in PodSecurityContext. If set in both SecurityContext and
2319 # PodSecurityContext, the value specified in SecurityContext takes
2320 # precedence. +optional
2321 },
2322 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
2323 # Container will be restarted if the probe fails.
2324 # Cannot be updated.
2325 # More info:
2326 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2327 # +optional
2328 # determine whether it is alive or ready to receive traffic.
2329 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
2330 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2331 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
2332 # are initiated. More info:
2333 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2334 # +optional
2335 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
2336 # Defaults to 1 second. Minimum value is 1.
2337 # More info:
2338 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2339 # +optional
2340 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2341 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
2342 # Exec specifies the action to take.
2343 # +optional
2344 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
2345 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
2346 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
2347 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
2348 # explicitly call out to that shell. Exit status of 0 is treated as
2349 # live/healthy and non-zero is unhealthy. +optional
2350 },
2351 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2352 # +optional
2353 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
2354 # +optional
2355 { # HTTPHeader describes a custom header to be used in HTTP probes
2356 &quot;value&quot;: &quot;A String&quot;, # The header field value
2357 &quot;name&quot;: &quot;A String&quot;, # The header field name
2358 },
2359 ],
2360 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
2361 # +optional
2362 &quot;port&quot;: { # 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.
2363 # Number must be in the range 1 to 65535.
2364 # Name must be an IANA_SVC_NAME.
2365 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2366 # inner type. This allows you to have, for example, a JSON field that can
2367 # accept a name or number.
2368 &quot;type&quot;: 42, # The type of the value.
2369 &quot;intVal&quot;: 42, # The int value.
2370 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2371 },
2372 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2373 # &quot;Host&quot; in httpHeaders instead.
2374 # +optional
2375 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2376 # Defaults to HTTP.
2377 # +optional
2378 },
2379 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2380 # TCP hooks not yet supported
2381 &quot;port&quot;: { # 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.
2382 # Number must be in the range 1 to 65535.
2383 # Name must be an IANA_SVC_NAME.
2384 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2385 # inner type. This allows you to have, for example, a JSON field that can
2386 # accept a name or number.
2387 &quot;type&quot;: 42, # The type of the value.
2388 &quot;intVal&quot;: 42, # The int value.
2389 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2390 },
2391 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2392 # +optional
2393 },
2394 },
2395 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
2396 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2397 # is 1. +optional
2398 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
2399 # Default to 10 seconds. Minimum value is 1.
2400 # +optional
2401 },
2402 &quot;env&quot;: [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002403 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002404 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07002405 { # EnvVar represents an environment variable present in a Container.
Bu Sun Kim65020912020-05-20 12:08:20 -07002406 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
2407 # using the previous defined environment variables in the container and
2408 # any route environment variables. If a variable cannot be resolved,
2409 # the reference in the input string will be unchanged. The $(VAR_NAME)
2410 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
2411 # references will never be expanded, regardless of whether the variable
2412 # exists or not.
2413 # Defaults to &quot;&quot;.
2414 # +optional
2415 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
2416 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07002417 #
2418 # Cloud Run on GKE: supported
2419 #
Bu Sun Kim65020912020-05-20 12:08:20 -07002420 # Source for the environment variable&#x27;s value. Cannot be used if value is not
Dan O'Mearadd494642020-05-01 07:42:23 -07002421 # empty. +optional
2422 #
2423 # Cloud Run on GKE: supported
2424 #
2425 # EnvVarSource represents a source for the value of an EnvVar.
Bu Sun Kim65020912020-05-20 12:08:20 -07002426 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07002427 #
2428 # Cloud Run on GKE: supported
2429 #
2430 # Selects a key of a ConfigMap.
2431 # +optional
2432 #
2433 # Cloud Run on GKE: supported
2434 #
2435 # Selects a key from a ConfigMap.
Bu Sun Kim65020912020-05-20 12:08:20 -07002436 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07002437 #
2438 # Cloud Run on GKE: supported
2439 #
2440 # Specify whether the ConfigMap or its key must be defined
2441 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002442 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07002443 #
2444 # Cloud Run on GKE: supported
2445 #
2446 # The key to select.
Bu Sun Kim65020912020-05-20 12:08:20 -07002447 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2448 #
2449 # Cloud Run on GKE: supported
2450 #
2451 # The ConfigMap to select from.
2452 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2453 # directly into the message. Use the &quot;name&quot; field instead.
2454 # referenced object inside the same namespace.
2455 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2456 # More info:
2457 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2458 },
2459 },
2460 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
2461 #
2462 # Cloud Run on GKE: supported
2463 #
2464 # Selects a key of a secret in the pod&#x27;s namespace
2465 # +optional
2466 #
2467 # Cloud Run on GKE: supported
2468 #
2469 # SecretKeySelector selects a key of a Secret.
2470 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2471 # directly into the message. Use the &quot;name&quot; field instead.
2472 # referenced object inside the same namespace.
2473 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2474 # More info:
2475 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2476 },
2477 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
2478 #
2479 # Cloud Run on GKE: supported
2480 #
2481 # Specify whether the Secret or its key must be defined
2482 # +optional
2483 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2484 #
2485 # Cloud Run on GKE: supported
2486 #
2487 # The key of the secret to select from. Must be a valid secret key.
2488 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2489 #
2490 # Cloud Run on GKE: supported
2491 #
2492 # The name of the secret in the pod&#x27;s namespace to select from.
Dan O'Mearadd494642020-05-01 07:42:23 -07002493 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002494 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002495 },
Dan O'Mearadd494642020-05-01 07:42:23 -07002496 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002497 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002498 # Cannot be updated.
2499 # More info:
2500 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2501 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002502 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002503 # If Requests is omitted for a container, it defaults to Limits if that is
2504 # explicitly specified, otherwise to an implementation-defined value.
2505 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07002506 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002507 # with k8s style API.
2508 # This field is deprecated in favor of requests field.
Bu Sun Kim65020912020-05-20 12:08:20 -07002509 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002510 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
Bu Sun Kim65020912020-05-20 12:08:20 -07002511 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002512 },
2513 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002514 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
Dan O'Mearadd494642020-05-01 07:42:23 -07002515 # If Requests is omitted for a container, it defaults to Limits if that is
2516 # explicitly specified, otherwise to an implementation-defined value.
Bu Sun Kim65020912020-05-20 12:08:20 -07002517 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
Dan O'Mearadd494642020-05-01 07:42:23 -07002518 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Bu Sun Kim65020912020-05-20 12:08:20 -07002519 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002520 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002521 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
2522 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002523 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Bu Sun Kim65020912020-05-20 12:08:20 -07002524 &quot;a_key&quot;: &quot;A String&quot;,
2525 },
2526 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
2527 # This is a temporary field created to migrate away from the
2528 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
2529 # with k8s style API.
2530 # This field is deprecated in favor of limits field.
2531 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
2532 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
2533 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
2534 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002535 },
2536 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002537 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
2538 # Container will be removed from service endpoints if the probe fails.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002539 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002540 # More info:
Bu Sun Kim65020912020-05-20 12:08:20 -07002541 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002542 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002543 # determine whether it is alive or ready to receive traffic.
2544 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
2545 # having succeeded. Defaults to 3. Minimum value is 1. +optional
2546 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
2547 # are initiated. More info:
2548 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2549 # +optional
2550 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
2551 # Defaults to 1 second. Minimum value is 1.
2552 # More info:
2553 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2554 # +optional
2555 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
2556 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
2557 # Exec specifies the action to take.
2558 # +optional
2559 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
2560 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
2561 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
2562 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
2563 # explicitly call out to that shell. Exit status of 0 is treated as
2564 # live/healthy and non-zero is unhealthy. +optional
2565 },
2566 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2567 # +optional
2568 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
2569 # +optional
2570 { # HTTPHeader describes a custom header to be used in HTTP probes
2571 &quot;value&quot;: &quot;A String&quot;, # The header field value
2572 &quot;name&quot;: &quot;A String&quot;, # The header field name
2573 },
2574 ],
2575 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
2576 # +optional
2577 &quot;port&quot;: { # 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.
2578 # Number must be in the range 1 to 65535.
2579 # Name must be an IANA_SVC_NAME.
2580 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2581 # inner type. This allows you to have, for example, a JSON field that can
2582 # accept a name or number.
2583 &quot;type&quot;: 42, # The type of the value.
2584 &quot;intVal&quot;: 42, # The int value.
2585 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2586 },
2587 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2588 # &quot;Host&quot; in httpHeaders instead.
2589 # +optional
2590 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2591 # Defaults to HTTP.
2592 # +optional
2593 },
2594 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2595 # TCP hooks not yet supported
2596 &quot;port&quot;: { # 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.
2597 # Number must be in the range 1 to 65535.
2598 # Name must be an IANA_SVC_NAME.
2599 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2600 # inner type. This allows you to have, for example, a JSON field that can
2601 # accept a name or number.
2602 &quot;type&quot;: 42, # The type of the value.
2603 &quot;intVal&quot;: 42, # The int value.
2604 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2605 },
2606 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2607 # +optional
2608 },
2609 },
2610 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
2611 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2612 # is 1. +optional
2613 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
2614 # Default to 10 seconds. Minimum value is 1.
2615 # +optional
2616 },
2617 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
2618 # One of Always, Never, IfNotPresent.
2619 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
2620 # Cannot be updated.
2621 # More info:
2622 # https://kubernetes.io/docs/concepts/containers/images#updating-images
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002623 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002624 },
2625 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002626 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
2627 # metadata.generation instead, which is the sequence number containing the
2628 # latest generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002629 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002630 # Read-only.
Bu Sun Kim65020912020-05-20 12:08:20 -07002631 &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources
2632 # are in for this Revision.
2633 # Users must not specify this when creating a revision. It is expected
2634 # that the system will manipulate this based on routability and load.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002635 #
Bu Sun Kim65020912020-05-20 12:08:20 -07002636 # Populated by the system.
2637 # Read-only.
2638 &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model
2639 # (Single or Multi) for the Revision. Defaults to Multi.
2640 # Deprecated in favor of ContainerConcurrency.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002641 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07002642 &quot;container&quot;: { # A single application container. # Container defines the unit of execution for this Revision.
2643 # In the context of a Revision, we disallow a number of the fields of
2644 # this Container, including: name, ports, and volumeMounts.
2645 # The runtime contract is documented here:
2646 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
2647 # This specifies both the container to run, the command to run in the container
2648 # and the arguments to supply to it.
2649 # Note that additional arguments may be supplied by the system to the container
2650 # at runtime.
2651 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
2652 # message will be written is mounted into the container&#x27;s filesystem. Message
2653 # written is intended to be brief final status, such as an assertion failure
2654 # message. Will be truncated by the node if greater than 4096 bytes. The
2655 # total message length across all containers will be limited to 12kb.
2656 # Defaults to /dev/termination-log.
2657 # Cannot be updated.
2658 # +optional
2659 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
2660 # lifecycle events. Cannot be updated. +optional
2661 # response to container lifecycle events. For the PostStart and PreStop
2662 # lifecycle handlers, management of the container blocks until the action is
2663 # complete, unless the container process fails, in which case the handler is
2664 # aborted.
2665 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
2666 # The container is terminated after the handler completes.
2667 # The reason for termination is passed to the handler.
2668 # Regardless of the outcome of the handler, the container is eventually
2669 # terminated. Other management of the container blocks until the hook
2670 # completes. More info:
2671 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2672 # +optional
2673 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
2674 # Exec specifies the action to take.
2675 # +optional
2676 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
2677 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
2678 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
2679 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
2680 # explicitly call out to that shell. Exit status of 0 is treated as
2681 # live/healthy and non-zero is unhealthy. +optional
2682 },
2683 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2684 # +optional
2685 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
2686 # +optional
2687 { # HTTPHeader describes a custom header to be used in HTTP probes
2688 &quot;value&quot;: &quot;A String&quot;, # The header field value
2689 &quot;name&quot;: &quot;A String&quot;, # The header field name
2690 },
2691 ],
2692 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
2693 # +optional
2694 &quot;port&quot;: { # 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.
2695 # Number must be in the range 1 to 65535.
2696 # Name must be an IANA_SVC_NAME.
2697 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2698 # inner type. This allows you to have, for example, a JSON field that can
2699 # accept a name or number.
2700 &quot;type&quot;: 42, # The type of the value.
2701 &quot;intVal&quot;: 42, # The int value.
2702 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2703 },
2704 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2705 # &quot;Host&quot; in httpHeaders instead.
2706 # +optional
2707 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2708 # Defaults to HTTP.
2709 # +optional
2710 },
2711 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2712 # TCP hooks not yet supported
2713 &quot;port&quot;: { # 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.
2714 # Number must be in the range 1 to 65535.
2715 # Name must be an IANA_SVC_NAME.
2716 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2717 # inner type. This allows you to have, for example, a JSON field that can
2718 # accept a name or number.
2719 &quot;type&quot;: 42, # The type of the value.
2720 &quot;intVal&quot;: 42, # The int value.
2721 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2722 },
2723 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2724 # +optional
2725 },
2726 },
2727 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
2728 # handler fails, the container is terminated and restarted according to its
2729 # restart policy. Other management of the container blocks until the hook
2730 # completes. More info:
2731 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
2732 # +optional
2733 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
2734 # Exec specifies the action to take.
2735 # +optional
2736 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
2737 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
2738 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
2739 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
2740 # explicitly call out to that shell. Exit status of 0 is treated as
2741 # live/healthy and non-zero is unhealthy. +optional
2742 },
2743 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
2744 # +optional
2745 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
2746 # +optional
2747 { # HTTPHeader describes a custom header to be used in HTTP probes
2748 &quot;value&quot;: &quot;A String&quot;, # The header field value
2749 &quot;name&quot;: &quot;A String&quot;, # The header field name
2750 },
2751 ],
2752 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
2753 # +optional
2754 &quot;port&quot;: { # 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 &quot;type&quot;: 42, # The type of the value.
2761 &quot;intVal&quot;: 42, # The int value.
2762 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2763 },
2764 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
2765 # &quot;Host&quot; in httpHeaders instead.
2766 # +optional
2767 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
2768 # Defaults to HTTP.
2769 # +optional
2770 },
2771 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
2772 # TCP hooks not yet supported
2773 &quot;port&quot;: { # 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.
2774 # Number must be in the range 1 to 65535.
2775 # Name must be an IANA_SVC_NAME.
2776 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
2777 # inner type. This allows you to have, for example, a JSON field that can
2778 # accept a name or number.
2779 &quot;type&quot;: 42, # The type of the value.
2780 &quot;intVal&quot;: 42, # The int value.
2781 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
2782 },
2783 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
2784 # +optional
2785 },
2786 },
2787 },
2788 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
2789 # runtime. If this is not set, reads from stdin in the container will always
2790 # result in EOF. Default is false. +optional
2791 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
2792 # &#x27;stdin&#x27; to be true. Default is false. +optional
2793 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
2794 # Cannot be updated.
2795 # +optional
2796 { # VolumeMount describes a mounting of a Volume within a container.
2797 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
2798 # Defaults to false.
2799 # +optional
2800 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
2801 # to container and the other way around.
2802 # When not set, MountPropagationHostToContainer is used.
2803 # This field is beta in 1.10.
2804 # +optional
2805 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
2806 # not contain &#x27;:&#x27;.
2807 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
2808 # Defaults to &quot;&quot; (volume&#x27;s root).
2809 # +optional
2810 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
2811 },
2812 ],
2813 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
2814 # This is an alpha feature and may change in the future.
2815 # +optional
2816 { # volumeDevice describes a mapping of a raw block device within a container.
2817 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
2818 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
2819 # mapped to.
2820 },
2821 ],
2822 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
2823 # the system additional information about the network connections a
2824 # container uses, but is primarily informational. Not specifying a port here
2825 # DOES NOT prevent that port from being exposed. Any port which is
2826 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
2827 # accessible from the network.
2828 # Cannot be updated.
2829 # +optional
2830 { # ContainerPort represents a network port in a single container.
2831 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
2832 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
2833 # If HostNetwork is specified, this must match ContainerPort.
2834 # Most containers do not need this.
2835 # +optional
2836 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
2837 # This must be a valid port number, 0 &lt; x &lt; 65536.
2838 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
2839 # Defaults to &quot;TCP&quot;.
2840 # +optional
2841 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
2842 # +optional
2843 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
2844 # named port in a pod must have a unique name. Name for the port that can be
2845 # referred to by services.
2846 # +optional
2847 },
2848 ],
2849 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
2850 # If not specified, the container runtime&#x27;s default will be used, which
2851 # might be configured in the container image.
2852 # Cannot be updated.
2853 # +optional
2854 &quot;args&quot;: [ # Arguments to the entrypoint.
2855 # The docker image&#x27;s CMD is used if this is not provided.
2856 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
2857 # environment. If a variable cannot be resolved, the reference in the input
2858 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2859 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2860 # regardless of whether the variable exists or not.
2861 # Cannot be updated.
2862 # More info:
2863 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2864 # +optional
2865 &quot;A String&quot;,
2866 ],
2867 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
2868 # been opened by a single attach. When stdin is true the stdin stream will
2869 # remain open across multiple attach sessions. If stdinOnce is set to true,
2870 # stdin is opened on container start, is empty until the first client
2871 # attaches to stdin, and then remains open and accepts data until the client
2872 # disconnects, at which time stdin is closed and remains closed until the
2873 # container is restarted. If this flag is false, a container processes that
2874 # reads from stdin will never receive an EOF. Default is false +optional
2875 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
2876 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
2877 # will be reported as an event when the container is starting. When a key
2878 # exists in multiple sources, the value associated with the last source will
2879 # take precedence. Values defined by an Env with a duplicate key will take
2880 # precedence. Cannot be updated. +optional
2881 { # EnvFromSource represents the source of a set of ConfigMaps
2882 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
2883 # +optional
2884 # variables with.
2885 #
2886 # The contents of the target ConfigMap&#x27;s Data field will represent the
2887 # key-value pairs as environment variables.
2888 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2889 #
2890 # Cloud Run for Anthos: supported
2891 #
2892 # The ConfigMap to select from.
2893 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2894 # directly into the message. Use the &quot;name&quot; field instead.
2895 # referenced object inside the same namespace.
2896 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2897 # More info:
2898 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2899 },
2900 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
2901 #
2902 # Cloud Run for Anthos: supported
2903 #
2904 # Specify whether the ConfigMap must be defined
2905 # +optional
2906 },
2907 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
2908 # +optional
2909 # variables with.
2910 #
2911 # The contents of the target Secret&#x27;s Data field will represent the
2912 # key-value pairs as environment variables.
2913 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
2914 # directly into the message. Use the &quot;name&quot; field instead.
2915 # referenced object inside the same namespace.
2916 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
2917 # More info:
2918 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2919 },
2920 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
2921 #
2922 # Cloud Run for Anthos: supported
2923 #
2924 # Specify whether the Secret must be defined
2925 # +optional
2926 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
2927 #
2928 # Cloud Run for Anthos: supported
2929 #
2930 # The Secret to select from.
2931 },
2932 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
2933 # C_IDENTIFIER. +optional
2934 },
2935 ],
2936 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
2937 # More info: https://kubernetes.io/docs/concepts/containers/images
2938 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
2939 # Each container must have a unique name (DNS_LABEL).
2940 # Cannot be updated.
2941 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
2942 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
2943 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
2944 # environment. If a variable cannot be resolved, the reference in the input
2945 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
2946 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
2947 # regardless of whether the variable exists or not.
2948 # Cannot be updated.
2949 # More info:
2950 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
2951 # +optional
2952 &quot;A String&quot;,
2953 ],
2954 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
2955 # contents of terminationMessagePath to populate the container status message
2956 # on both success and failure. FallbackToLogsOnError will use the last chunk
2957 # of container log output if the termination message file is empty and the
2958 # container exited with an error. The log output is limited to 2048 bytes or
2959 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
2960 # +optional
2961 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
2962 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
2963 # More info:
2964 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2965 # +optional
2966 # container. Some fields are present in both SecurityContext and
2967 # PodSecurityContext. When both are set, the values in SecurityContext take
2968 # precedence.
2969 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
2970 # Defaults to the default set of capabilities granted by the container
2971 # runtime. +optional
2972 &quot;add&quot;: [ # Added capabilities
2973 # +optional
2974 &quot;A String&quot;,
2975 ],
2976 &quot;drop&quot;: [ # Removed capabilities
2977 # +optional
2978 &quot;A String&quot;,
2979 ],
2980 },
2981 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
2982 # If true, the Kubelet will validate the image at runtime to ensure that it
2983 # does not run as UID 0 (root) and fail to start the container if it does.
2984 # If unset or false, no such validation will be performed.
2985 # May also be set in PodSecurityContext. If set in both SecurityContext and
2986 # PodSecurityContext, the value specified in SecurityContext takes
2987 # precedence. +optional
2988 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
2989 # Uses runtime default if unset.
2990 # May also be set in PodSecurityContext. If set in both SecurityContext and
2991 # PodSecurityContext, the value specified in SecurityContext takes
2992 # precedence. +optional
2993 &quot;privileged&quot;: True or False, # Run container in privileged mode.
2994 # Processes in privileged containers are essentially equivalent to root on
2995 # the host. Defaults to false. +optional
2996 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
2997 # privileges than its parent process. This bool directly controls if
2998 # the no_new_privs flag will be set on the container process.
2999 # AllowPrivilegeEscalation is true always when the container is:
3000 # 1) run as Privileged
3001 # 2) has CAP_SYS_ADMIN
3002 # +optional
3003 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
3004 # If unspecified, the container runtime will allocate a random SELinux
3005 # context for each container. May also be set in PodSecurityContext. If set
3006 # in both SecurityContext and PodSecurityContext, the value specified in
3007 # SecurityContext takes precedence. +optional
3008 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
3009 # +optional
3010 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
3011 # +optional
3012 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
3013 # +optional
3014 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
3015 # +optional
3016 },
3017 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
3018 # Default is false.
3019 # +optional
3020 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
3021 # Defaults to user specified in image metadata if unspecified.
3022 # May also be set in PodSecurityContext. If set in both SecurityContext and
3023 # PodSecurityContext, the value specified in SecurityContext takes
3024 # precedence. +optional
3025 },
3026 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
3027 # Container will be restarted if the probe fails.
3028 # Cannot be updated.
3029 # More info:
3030 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3031 # +optional
3032 # determine whether it is alive or ready to receive traffic.
3033 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
3034 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3035 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
3036 # are initiated. More info:
3037 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3038 # +optional
3039 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
3040 # Defaults to 1 second. Minimum value is 1.
3041 # More info:
3042 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3043 # +optional
3044 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3045 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
3046 # Exec specifies the action to take.
3047 # +optional
3048 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
3049 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
3050 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
3051 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
3052 # explicitly call out to that shell. Exit status of 0 is treated as
3053 # live/healthy and non-zero is unhealthy. +optional
3054 },
3055 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3056 # +optional
3057 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
3058 # +optional
3059 { # HTTPHeader describes a custom header to be used in HTTP probes
3060 &quot;value&quot;: &quot;A String&quot;, # The header field value
3061 &quot;name&quot;: &quot;A String&quot;, # The header field name
3062 },
3063 ],
3064 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
3065 # +optional
3066 &quot;port&quot;: { # 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.
3067 # Number must be in the range 1 to 65535.
3068 # Name must be an IANA_SVC_NAME.
3069 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3070 # inner type. This allows you to have, for example, a JSON field that can
3071 # accept a name or number.
3072 &quot;type&quot;: 42, # The type of the value.
3073 &quot;intVal&quot;: 42, # The int value.
3074 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3075 },
3076 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
3077 # &quot;Host&quot; in httpHeaders instead.
3078 # +optional
3079 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
3080 # Defaults to HTTP.
3081 # +optional
3082 },
3083 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3084 # TCP hooks not yet supported
3085 &quot;port&quot;: { # 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.
3086 # Number must be in the range 1 to 65535.
3087 # Name must be an IANA_SVC_NAME.
3088 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3089 # inner type. This allows you to have, for example, a JSON field that can
3090 # accept a name or number.
3091 &quot;type&quot;: 42, # The type of the value.
3092 &quot;intVal&quot;: 42, # The int value.
3093 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3094 },
3095 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
3096 # +optional
3097 },
3098 },
3099 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
3100 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3101 # is 1. +optional
3102 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
3103 # Default to 10 seconds. Minimum value is 1.
3104 # +optional
3105 },
3106 &quot;env&quot;: [ # List of environment variables to set in the container.
3107 # Cannot be updated.
3108 # +optional
3109 { # EnvVar represents an environment variable present in a Container.
3110 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
3111 # using the previous defined environment variables in the container and
3112 # any route environment variables. If a variable cannot be resolved,
3113 # the reference in the input string will be unchanged. The $(VAR_NAME)
3114 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
3115 # references will never be expanded, regardless of whether the variable
3116 # exists or not.
3117 # Defaults to &quot;&quot;.
3118 # +optional
3119 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
3120 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
3121 #
3122 # Cloud Run on GKE: supported
3123 #
3124 # Source for the environment variable&#x27;s value. Cannot be used if value is not
3125 # empty. +optional
3126 #
3127 # Cloud Run on GKE: supported
3128 #
3129 # EnvVarSource represents a source for the value of an EnvVar.
3130 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
3131 #
3132 # Cloud Run on GKE: supported
3133 #
3134 # Selects a key of a ConfigMap.
3135 # +optional
3136 #
3137 # Cloud Run on GKE: supported
3138 #
3139 # Selects a key from a ConfigMap.
3140 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
3141 #
3142 # Cloud Run on GKE: supported
3143 #
3144 # Specify whether the ConfigMap or its key must be defined
3145 # +optional
3146 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
3147 #
3148 # Cloud Run on GKE: supported
3149 #
3150 # The key to select.
3151 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
3152 #
3153 # Cloud Run on GKE: supported
3154 #
3155 # The ConfigMap to select from.
3156 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
3157 # directly into the message. Use the &quot;name&quot; field instead.
3158 # referenced object inside the same namespace.
3159 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
3160 # More info:
3161 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3162 },
3163 },
3164 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
3165 #
3166 # Cloud Run on GKE: supported
3167 #
3168 # Selects a key of a secret in the pod&#x27;s namespace
3169 # +optional
3170 #
3171 # Cloud Run on GKE: supported
3172 #
3173 # SecretKeySelector selects a key of a Secret.
3174 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
3175 # directly into the message. Use the &quot;name&quot; field instead.
3176 # referenced object inside the same namespace.
3177 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
3178 # More info:
3179 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3180 },
3181 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
3182 #
3183 # Cloud Run on GKE: supported
3184 #
3185 # Specify whether the Secret or its key must be defined
3186 # +optional
3187 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
3188 #
3189 # Cloud Run on GKE: supported
3190 #
3191 # The key of the secret to select from. Must be a valid secret key.
3192 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
3193 #
3194 # Cloud Run on GKE: supported
3195 #
3196 # The name of the secret in the pod&#x27;s namespace to select from.
3197 },
3198 },
3199 },
3200 ],
3201 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
3202 # Cannot be updated.
3203 # More info:
3204 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
3205 # +optional
3206 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
3207 # If Requests is omitted for a container, it defaults to Limits if that is
3208 # explicitly specified, otherwise to an implementation-defined value.
3209 # This is a temporary field created to migrate away from the
3210 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
3211 # with k8s style API.
3212 # This field is deprecated in favor of requests field.
3213 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
3214 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3215 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3216 },
3217 },
3218 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
3219 # If Requests is omitted for a container, it defaults to Limits if that is
3220 # explicitly specified, otherwise to an implementation-defined value.
3221 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
3222 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3223 &quot;a_key&quot;: &quot;A String&quot;,
3224 },
3225 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
3226 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
3227 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
3228 &quot;a_key&quot;: &quot;A String&quot;,
3229 },
3230 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
3231 # This is a temporary field created to migrate away from the
3232 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
3233 # with k8s style API.
3234 # This field is deprecated in favor of limits field.
3235 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
3236 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
3237 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
3238 },
3239 },
3240 },
3241 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
3242 # Container will be removed from service endpoints if the probe fails.
3243 # Cannot be updated.
3244 # More info:
3245 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3246 # +optional
3247 # determine whether it is alive or ready to receive traffic.
3248 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
3249 # having succeeded. Defaults to 3. Minimum value is 1. +optional
3250 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
3251 # are initiated. More info:
3252 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3253 # +optional
3254 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
3255 # Defaults to 1 second. Minimum value is 1.
3256 # More info:
3257 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
3258 # +optional
3259 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
3260 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
3261 # Exec specifies the action to take.
3262 # +optional
3263 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
3264 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
3265 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
3266 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
3267 # explicitly call out to that shell. Exit status of 0 is treated as
3268 # live/healthy and non-zero is unhealthy. +optional
3269 },
3270 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3271 # +optional
3272 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
3273 # +optional
3274 { # HTTPHeader describes a custom header to be used in HTTP probes
3275 &quot;value&quot;: &quot;A String&quot;, # The header field value
3276 &quot;name&quot;: &quot;A String&quot;, # The header field name
3277 },
3278 ],
3279 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
3280 # +optional
3281 &quot;port&quot;: { # 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.
3282 # Number must be in the range 1 to 65535.
3283 # Name must be an IANA_SVC_NAME.
3284 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3285 # inner type. This allows you to have, for example, a JSON field that can
3286 # accept a name or number.
3287 &quot;type&quot;: 42, # The type of the value.
3288 &quot;intVal&quot;: 42, # The int value.
3289 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3290 },
3291 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
3292 # &quot;Host&quot; in httpHeaders instead.
3293 # +optional
3294 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
3295 # Defaults to HTTP.
3296 # +optional
3297 },
3298 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3299 # TCP hooks not yet supported
3300 &quot;port&quot;: { # 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.
3301 # Number must be in the range 1 to 65535.
3302 # Name must be an IANA_SVC_NAME.
3303 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3304 # inner type. This allows you to have, for example, a JSON field that can
3305 # accept a name or number.
3306 &quot;type&quot;: 42, # The type of the value.
3307 &quot;intVal&quot;: 42, # The int value.
3308 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3309 },
3310 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
3311 # +optional
3312 },
3313 },
3314 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
3315 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
3316 # is 1. +optional
3317 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
3318 # Default to 10 seconds. Minimum value is 1.
3319 # +optional
3320 },
3321 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
3322 # One of Always, Never, IfNotPresent.
3323 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
3324 # Cannot be updated.
3325 # More info:
3326 # https://kubernetes.io/docs/concepts/containers/images#updating-images
3327 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003328 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003329 &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
3330 # responding to a request.
3331 # Not currently used by Cloud Run.
3332 &quot;volumes&quot;: [
3333 { # Volume represents a named volume in a container.
3334 &quot;configMap&quot;: { # Adapts a ConfigMap into a volume.
3335 # The contents of the target ConfigMap&#x27;s Data field will be presented in a
3336 # volume as files using the keys in the Data field as the file names, unless
3337 # the items element is populated with specific mappings of keys to paths.
3338 &quot;name&quot;: &quot;A String&quot;, # Name of the config.
3339 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
3340 # 0777. Defaults to 0644. Directories within the path are not affected by
3341 # this setting. This might be in conflict with other options that affect the
3342 # file mode, like fsGroup, and the result can be other mode bits set.
3343 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
3344 # Secret will be projected into the volume as a file whose name is the
3345 # key and content is the value. If specified, the listed keys will be
3346 # projected into the specified paths, and unlisted keys will not be
3347 # present. If a key is specified which is not present in the Secret,
3348 # the volume setup will error unless it is marked optional.
3349 { # Maps a string key to a path within a volume.
3350 &quot;key&quot;: &quot;A String&quot;, # The key to project.
3351 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
3352 # May not be an absolute path.
3353 # May not contain the path element &#x27;..&#x27;.
3354 # May not start with the string &#x27;..&#x27;.
3355 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
3356 # specified, the volume defaultMode will be used. This might be in conflict
3357 # with other options that affect the file mode, like fsGroup, and the result
3358 # can be other mode bits set. +optional
3359 },
3360 ],
3361 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3362 },
3363 &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
3364 &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume
3365 # as files using the keys in the Data field as the file names.
3366 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
3367 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
3368 # 0777. Defaults to 0644. Directories within the path are not affected by
3369 # this setting. This might be in conflict with other options that affect the
3370 # file mode, like fsGroup, and the result can be other mode bits set.
3371 &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
3372 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
3373 # Secret will be projected into the volume as a file whose name is the
3374 # key and content is the value. If specified, the listed keys will be
3375 # projected into the specified paths, and unlisted keys will not be
3376 # present. If a key is specified which is not present in the Secret,
3377 # the volume setup will error unless it is marked optional.
3378 { # Maps a string key to a path within a volume.
3379 &quot;key&quot;: &quot;A String&quot;, # The key to project.
3380 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
3381 # May not be an absolute path.
3382 # May not contain the path element &#x27;..&#x27;.
3383 # May not start with the string &#x27;..&#x27;.
3384 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
3385 # specified, the volume defaultMode will be used. This might be in conflict
3386 # with other options that affect the file mode, like fsGroup, and the result
3387 # can be other mode bits set. +optional
3388 },
3389 ],
3390 },
3391 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003392 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003393 },
3394 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003395 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
3396 # metadata.generation instead, which is the sequence number containing the
3397 # latest generation of the desired state.
3398 #
3399 # Read-only.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003400 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003401 &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
3402 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003403 # labels, and annotations.
3404 # all objects users must create.
Bu Sun Kim65020912020-05-20 12:08:20 -07003405 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
3406 # may be set by external tools to store and retrieve arbitrary metadata. They
3407 # are not queryable and should be preserved when modifying objects. More
3408 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3409 &quot;a_key&quot;: &quot;A String&quot;,
3410 },
3411 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
3412 #
3413 # GenerateName is an optional prefix, used by the server, to generate a
3414 # unique name ONLY IF the Name field has not been provided. If this field is
3415 # used, the name returned to the client will be different than the name
3416 # passed. This value will also be combined with a unique suffix. The provided
3417 # value has the same validation rules as the Name field, and may be truncated
3418 # by the length of the suffix required to make the value unique on the
3419 # server.
3420 #
3421 # If this field is specified and the generated name exists, the server will
3422 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3423 # Reason ServerTimeout indicating a unique name could not be found in the
3424 # time allotted, and the client should retry (optionally after the time
3425 # indicated in the Retry-After header).
3426 #
3427 # Applied only if Name is not specified.
3428 # More info:
3429 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003430 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003431 # string generateName = 2;
3432 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003433 # Is required when creating
3434 # resources, although some resources may allow a client to request the
3435 # generation of an appropriate name automatically. Name is primarily intended
3436 # for creation idempotence and configuration definition. Cannot be updated.
3437 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3438 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003439 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
3440 #
3441 # The name of the cluster which the object belongs to.
3442 # This is used to distinguish resources with same name and namespace in
3443 # different clusters. This field is not set anywhere right now and apiserver
3444 # is going to ignore it if set in create or update request. +optional
3445 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
3446 #
3447 # Number of seconds allowed for this object to gracefully terminate before
3448 # it will be removed from the system. Only set when deletionTimestamp is also
3449 # set. May only be shortened. Read-only. +optional
3450 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
3451 #
3452 # Must be empty before the object is deleted from the registry. Each entry
3453 # is an identifier for the responsible component that will remove the entry
3454 # from the list. If the deletionTimestamp of the object is non-nil, entries
3455 # in this list can only be removed.
3456 # +optional
3457 # +patchStrategy=merge
3458 &quot;A String&quot;,
3459 ],
3460 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003461 # deleted. This field is set by the server when a graceful deletion is
3462 # requested by the user, and is not directly settable by a client. The
3463 # resource is expected to be deleted (no longer visible from resource lists,
3464 # and not reachable by name) after the time in this field, once the
3465 # finalizers list is empty. As long as the finalizers list contains items,
3466 # deletion is blocked. Once the deletionTimestamp is set, this value may not
3467 # be unset or be set further into the future, although it may be shortened or
3468 # the resource may be deleted prior to this time. For example, a user may
3469 # request that a pod is deleted in 30 seconds. The Kubelet will react by
3470 # sending a graceful termination signal to the containers in the pod. After
3471 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3472 # to the container and after cleanup, remove the pod from the API. In the
3473 # presence of network partitions, this object may still exist after this
3474 # timestamp, until an administrator or automated process can determine the
3475 # resource is fully terminated.
3476 # If not set, graceful deletion of the object has not been requested.
3477 #
3478 # Populated by the system when a graceful deletion is requested.
3479 # Read-only.
3480 # More info:
3481 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3482 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003483 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
3484 # been deleted, this object will be garbage collected.
3485 # +optional
3486 { # OwnerReference contains enough information to let you identify an owning
3487 # object. Currently, an owning object must be in the same namespace, so there
3488 # is no namespace field.
3489 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
3490 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
3491 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3492 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
3493 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3494 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
3495 # +optional
3496 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
3497 # More info:
3498 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
3499 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
3500 # the owner cannot be deleted from the key-value store until this
3501 # reference is removed.
3502 # Defaults to false.
3503 # To set this field, a user needs &quot;delete&quot; permission of the owner,
3504 # otherwise 422 (Unprocessable Entity) will be returned.
3505 # +optional
3506 },
3507 ],
3508 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
3509 # object was created. It is not guaranteed to be set in happens-before order
3510 # across separate operations. Clients may not set this value. It is
3511 # represented in RFC3339 form and is in UTC.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003512 #
Bu Sun Kim65020912020-05-20 12:08:20 -07003513 # Populated by the system.
3514 # Read-only.
3515 # Null for lists.
3516 # More info:
3517 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3518 # +optional
3519 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003520 # (scope and select) objects. May match selectors of replication controllers
3521 # and routes.
3522 # More info: http://kubernetes.io/docs/user-guide/labels
3523 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003524 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003525 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003526 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003527 # Populated by the system. Read-only.
3528 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003529 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003530 # can be used by clients to determine when objects have changed. May be used
3531 # for optimistic concurrency, change detection, and the watch operation on a
3532 # resource or set of resources. Clients must treat these values as opaque and
3533 # passed unmodified back to the server. They may only be valid for a
3534 # particular resource or set of resources.
3535 #
3536 # Populated by the system.
3537 # Read-only.
3538 # Value must be treated as opaque by clients and .
3539 # More info:
3540 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3541 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003542 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003543 # generated by the server on successful creation of a resource and is not
3544 # allowed to change on PUT operations.
3545 #
3546 # Populated by the system.
3547 # Read-only.
3548 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3549 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07003550 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
3551 # Populated by the system.
3552 # Read-only.
3553 # +optional
3554 # string selfLink = 4;
3555 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
3556 # Cloud Run region. In Cloud Run the namespace must be equal to either the
3557 # project ID or project number.
3558 },
3559 &quot;status&quot;: { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
3560 # controller).
3561 # (from the controller).
3562 &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete
3563 # reconciliation processes that bring the &quot;spec&quot; inline with the observed
3564 # state of the world.
3565 { # ConfigurationCondition defines a readiness condition for a Configuration.
3566 &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition.
3567 # +optional
3568 &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another.
3569 # +optional
3570 &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
3571 &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info
3572 # +optional
3573 &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition.
3574 # +optional
3575 &quot;type&quot;: &quot;A String&quot;, # ConfigurationConditionType is used to communicate the status of the
3576 # reconciliation process. See also:
3577 # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
3578 # Types include:&quot;Ready&quot;
3579 },
3580 ],
3581 &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Configuration that
3582 # was last processed by the controller. The observed generation is updated
3583 # even if the controller failed to process the spec and create the Revision.
3584 #
3585 # Clients polling for completed reconciliation should poll until
3586 # observedGeneration = metadata.generation, and the Ready condition&#x27;s status
3587 # is True or False.
3588 &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this
3589 # Configuration. It might not be ready yet, for that use
3590 # LatestReadyRevisionName.
3591 &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # LatestReadyRevisionName holds the name of the latest Revision stamped out
3592 # from this Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003593 },
3594 }</pre>
3595</div>
3596
3597<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -07003598 <code class="details" id="list">list(parent, limit=None, watch=None, labelSelector=None, resourceVersion=None, includeUninitialized=None, fieldSelector=None, continue=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003599 <pre>Rpc to list configurations.
3600
3601Args:
3602 parent: string, The project ID or project number from which the configurations should be
3603listed. (required)
Bu Sun Kim65020912020-05-20 12:08:20 -07003604 limit: integer, The maximum number of records that should be returned.
3605 watch: boolean, Flag that indicates that the client expects to watch this resource as well.
3606Not currently used by Cloud Run.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003607 labelSelector: string, Allows to filter resources based on a label. Supported operations are
3608=, !=, exists, in, and notIn.
Bu Sun Kim65020912020-05-20 12:08:20 -07003609 resourceVersion: string, The baseline resource version from which the list or watch operation should
3610start. Not currently used by Cloud Run.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003611 includeUninitialized: boolean, Not currently used by Cloud Run.
Bu Sun Kim65020912020-05-20 12:08:20 -07003612 fieldSelector: string, Allows to filter resources based on a specific value for a field name.
3613Send this in a query string format. i.e. &#x27;metadata.name%3Dlorem&#x27;.
3614Not currently used by Cloud Run.
3615 continue: string, Optional encoded string to continue paging.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003616 x__xgafv: string, V1 error format.
3617 Allowed values
3618 1 - v1 error format
3619 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003620
3621Returns:
3622 An object of the form:
3623
3624 { # ListConfigurationsResponse is a list of Configuration resources.
Bu Sun Kim65020912020-05-20 12:08:20 -07003625 &quot;metadata&quot;: { # ListMeta describes metadata that synthetic resources must have, including # Metadata associated with this Configuration list.
3626 # lists and various status objects. A resource may have only one of
3627 # {ObjectMeta, ListMeta}.
3628 &quot;resourceVersion&quot;: &quot;A String&quot;, # String that identifies the server&#x27;s internal version of this object that
3629 # can be used by clients to determine when objects have changed. Value must
3630 # be treated as opaque by clients and passed unmodified back to the server.
3631 # Populated by the system.
3632 # Read-only.
3633 # More info:
3634 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3635 # +optional
3636 &quot;continue&quot;: &quot;A String&quot;, # continue may be set if the user set a limit on the number of items
3637 # returned, and indicates that the server has more data available. The value
3638 # is opaque and may be used to issue another request to the endpoint that
3639 # served this list to retrieve the next set of available objects. Continuing
3640 # a list may not be possible if the server configuration has changed or more
3641 # than a few minutes have passed. The resourceVersion field returned when
3642 # using this continue value will be identical to the value in the first
3643 # response.
3644 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
3645 # Populated by the system.
3646 # Read-only.
3647 # +optional
3648 },
3649 &quot;items&quot;: [ # List of Configurations.
3650 { # Configuration represents the &quot;floating HEAD&quot; of a linear history of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003651 # Revisions, and optionally how the containers those revisions reference are
Bu Sun Kim65020912020-05-20 12:08:20 -07003652 # built. Users create new Revisions by updating the Configuration&#x27;s spec. The
3653 # &quot;latest created&quot; revision&#x27;s name is available under status, as is the &quot;latest
3654 # ready&quot; revision&#x27;s name. See also:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003655 # https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
Bu Sun Kim65020912020-05-20 12:08:20 -07003656 &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
3657 &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the # Spec holds the desired state of the Configuration (from the client).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003658 # client).
Bu Sun Kim65020912020-05-20 12:08:20 -07003659 &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # Template holds the latest specification for the Revision to be stamped out.
3660 # from a template. Based on:
3661 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
3662 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
3663 # will be generated by the Configuration.
3664 # To set minimum instances for this revision, use the
3665 # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
3666 # To set maximum instances for this revision, use the
3667 # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
3668 # To set Cloud SQL connections for the revision, use the
3669 # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
3670 # comma separated.
3671 # all objects users must create.
3672 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
3673 # may be set by external tools to store and retrieve arbitrary metadata. They
3674 # are not queryable and should be preserved when modifying objects. More
3675 # info: http://kubernetes.io/docs/user-guide/annotations +optional
3676 &quot;a_key&quot;: &quot;A String&quot;,
3677 },
3678 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
3679 #
3680 # GenerateName is an optional prefix, used by the server, to generate a
3681 # unique name ONLY IF the Name field has not been provided. If this field is
3682 # used, the name returned to the client will be different than the name
3683 # passed. This value will also be combined with a unique suffix. The provided
3684 # value has the same validation rules as the Name field, and may be truncated
3685 # by the length of the suffix required to make the value unique on the
3686 # server.
3687 #
3688 # If this field is specified and the generated name exists, the server will
3689 # NOT return a 409 - instead, it will either return 201 Created or 500 with
3690 # Reason ServerTimeout indicating a unique name could not be found in the
3691 # time allotted, and the client should retry (optionally after the time
3692 # indicated in the Retry-After header).
3693 #
3694 # Applied only if Name is not specified.
3695 # More info:
3696 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
3697 # +optional
3698 # string generateName = 2;
3699 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
3700 # Is required when creating
3701 # resources, although some resources may allow a client to request the
3702 # generation of an appropriate name automatically. Name is primarily intended
3703 # for creation idempotence and configuration definition. Cannot be updated.
3704 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3705 # +optional
3706 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
3707 #
3708 # The name of the cluster which the object belongs to.
3709 # This is used to distinguish resources with same name and namespace in
3710 # different clusters. This field is not set anywhere right now and apiserver
3711 # is going to ignore it if set in create or update request. +optional
3712 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
3713 #
3714 # Number of seconds allowed for this object to gracefully terminate before
3715 # it will be removed from the system. Only set when deletionTimestamp is also
3716 # set. May only be shortened. Read-only. +optional
3717 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
3718 #
3719 # Must be empty before the object is deleted from the registry. Each entry
3720 # is an identifier for the responsible component that will remove the entry
3721 # from the list. If the deletionTimestamp of the object is non-nil, entries
3722 # in this list can only be removed.
3723 # +optional
3724 # +patchStrategy=merge
3725 &quot;A String&quot;,
3726 ],
3727 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
3728 # deleted. This field is set by the server when a graceful deletion is
3729 # requested by the user, and is not directly settable by a client. The
3730 # resource is expected to be deleted (no longer visible from resource lists,
3731 # and not reachable by name) after the time in this field, once the
3732 # finalizers list is empty. As long as the finalizers list contains items,
3733 # deletion is blocked. Once the deletionTimestamp is set, this value may not
3734 # be unset or be set further into the future, although it may be shortened or
3735 # the resource may be deleted prior to this time. For example, a user may
3736 # request that a pod is deleted in 30 seconds. The Kubelet will react by
3737 # sending a graceful termination signal to the containers in the pod. After
3738 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
3739 # to the container and after cleanup, remove the pod from the API. In the
3740 # presence of network partitions, this object may still exist after this
3741 # timestamp, until an administrator or automated process can determine the
3742 # resource is fully terminated.
3743 # If not set, graceful deletion of the object has not been requested.
3744 #
3745 # Populated by the system when a graceful deletion is requested.
3746 # Read-only.
3747 # More info:
3748 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3749 # +optional
3750 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
3751 # been deleted, this object will be garbage collected.
3752 # +optional
3753 { # OwnerReference contains enough information to let you identify an owning
3754 # object. Currently, an owning object must be in the same namespace, so there
3755 # is no namespace field.
3756 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
3757 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
3758 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
3759 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
3760 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3761 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
3762 # +optional
3763 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
3764 # More info:
3765 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
3766 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
3767 # the owner cannot be deleted from the key-value store until this
3768 # reference is removed.
3769 # Defaults to false.
3770 # To set this field, a user needs &quot;delete&quot; permission of the owner,
3771 # otherwise 422 (Unprocessable Entity) will be returned.
3772 # +optional
3773 },
3774 ],
3775 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
3776 # object was created. It is not guaranteed to be set in happens-before order
3777 # across separate operations. Clients may not set this value. It is
3778 # represented in RFC3339 form and is in UTC.
3779 #
3780 # Populated by the system.
3781 # Read-only.
3782 # Null for lists.
3783 # More info:
3784 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
3785 # +optional
3786 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
3787 # (scope and select) objects. May match selectors of replication controllers
3788 # and routes.
3789 # More info: http://kubernetes.io/docs/user-guide/labels
3790 # +optional
3791 &quot;a_key&quot;: &quot;A String&quot;,
3792 },
3793 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
3794 # Populated by the system. Read-only.
3795 # +optional
3796 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
3797 # can be used by clients to determine when objects have changed. May be used
3798 # for optimistic concurrency, change detection, and the watch operation on a
3799 # resource or set of resources. Clients must treat these values as opaque and
3800 # passed unmodified back to the server. They may only be valid for a
3801 # particular resource or set of resources.
3802 #
3803 # Populated by the system.
3804 # Read-only.
3805 # Value must be treated as opaque by clients and .
3806 # More info:
3807 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
3808 # +optional
3809 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
3810 # generated by the server on successful creation of a resource and is not
3811 # allowed to change on PUT operations.
3812 #
3813 # Populated by the system.
3814 # Read-only.
3815 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
3816 # +optional
3817 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
3818 # Populated by the system.
3819 # Read-only.
3820 # +optional
3821 # string selfLink = 4;
3822 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
3823 # Cloud Run region. In Cloud Run the namespace must be equal to either the
3824 # project ID or project number.
3825 },
3826 &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
3827 &quot;containerConcurrency&quot;: 42, # (Optional)
3828 #
3829 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
3830 # requests per container instance of the Revision.
3831 #
3832 # Cloud Run fully managed: supported, defaults to 80
3833 #
3834 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
3835 # to the application is not limited, and the system decides the
3836 # target concurrency for the autoscaler.
3837 &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision
3838 # of the service. The service account represents the identity of the
3839 # running revision, and determines what permissions the revision has. If
3840 # not provided, the revision will use the project&#x27;s default service account.
3841 &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution
3842 # for this Revision. In the context of a Revision, we disallow a number of
3843 # fields on this Container, including: name and lifecycle.
3844 # In Cloud Run, only a single container may be provided.
3845 { # A single application container.
3846 # This specifies both the container to run, the command to run in the container
3847 # and the arguments to supply to it.
3848 # Note that additional arguments may be supplied by the system to the container
3849 # at runtime.
3850 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
3851 # message will be written is mounted into the container&#x27;s filesystem. Message
3852 # written is intended to be brief final status, such as an assertion failure
3853 # message. Will be truncated by the node if greater than 4096 bytes. The
3854 # total message length across all containers will be limited to 12kb.
3855 # Defaults to /dev/termination-log.
3856 # Cannot be updated.
3857 # +optional
3858 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
3859 # lifecycle events. Cannot be updated. +optional
3860 # response to container lifecycle events. For the PostStart and PreStop
3861 # lifecycle handlers, management of the container blocks until the action is
3862 # complete, unless the container process fails, in which case the handler is
3863 # aborted.
3864 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
3865 # The container is terminated after the handler completes.
3866 # The reason for termination is passed to the handler.
3867 # Regardless of the outcome of the handler, the container is eventually
3868 # terminated. Other management of the container blocks until the hook
3869 # completes. More info:
3870 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3871 # +optional
3872 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
3873 # Exec specifies the action to take.
3874 # +optional
3875 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
3876 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
3877 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
3878 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
3879 # explicitly call out to that shell. Exit status of 0 is treated as
3880 # live/healthy and non-zero is unhealthy. +optional
3881 },
3882 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3883 # +optional
3884 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
3885 # +optional
3886 { # HTTPHeader describes a custom header to be used in HTTP probes
3887 &quot;value&quot;: &quot;A String&quot;, # The header field value
3888 &quot;name&quot;: &quot;A String&quot;, # The header field name
3889 },
3890 ],
3891 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
3892 # +optional
3893 &quot;port&quot;: { # 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.
3894 # Number must be in the range 1 to 65535.
3895 # Name must be an IANA_SVC_NAME.
3896 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3897 # inner type. This allows you to have, for example, a JSON field that can
3898 # accept a name or number.
3899 &quot;type&quot;: 42, # The type of the value.
3900 &quot;intVal&quot;: 42, # The int value.
3901 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3902 },
3903 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
3904 # &quot;Host&quot; in httpHeaders instead.
3905 # +optional
3906 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
3907 # Defaults to HTTP.
3908 # +optional
3909 },
3910 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3911 # TCP hooks not yet supported
3912 &quot;port&quot;: { # 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.
3913 # Number must be in the range 1 to 65535.
3914 # Name must be an IANA_SVC_NAME.
3915 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3916 # inner type. This allows you to have, for example, a JSON field that can
3917 # accept a name or number.
3918 &quot;type&quot;: 42, # The type of the value.
3919 &quot;intVal&quot;: 42, # The int value.
3920 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3921 },
3922 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
3923 # +optional
3924 },
3925 },
3926 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
3927 # handler fails, the container is terminated and restarted according to its
3928 # restart policy. Other management of the container blocks until the hook
3929 # completes. More info:
3930 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
3931 # +optional
3932 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
3933 # Exec specifies the action to take.
3934 # +optional
3935 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
3936 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
3937 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
3938 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
3939 # explicitly call out to that shell. Exit status of 0 is treated as
3940 # live/healthy and non-zero is unhealthy. +optional
3941 },
3942 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
3943 # +optional
3944 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
3945 # +optional
3946 { # HTTPHeader describes a custom header to be used in HTTP probes
3947 &quot;value&quot;: &quot;A String&quot;, # The header field value
3948 &quot;name&quot;: &quot;A String&quot;, # The header field name
3949 },
3950 ],
3951 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
3952 # +optional
3953 &quot;port&quot;: { # 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.
3954 # Number must be in the range 1 to 65535.
3955 # Name must be an IANA_SVC_NAME.
3956 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3957 # inner type. This allows you to have, for example, a JSON field that can
3958 # accept a name or number.
3959 &quot;type&quot;: 42, # The type of the value.
3960 &quot;intVal&quot;: 42, # The int value.
3961 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3962 },
3963 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
3964 # &quot;Host&quot; in httpHeaders instead.
3965 # +optional
3966 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
3967 # Defaults to HTTP.
3968 # +optional
3969 },
3970 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
3971 # TCP hooks not yet supported
3972 &quot;port&quot;: { # 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.
3973 # Number must be in the range 1 to 65535.
3974 # Name must be an IANA_SVC_NAME.
3975 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3976 # inner type. This allows you to have, for example, a JSON field that can
3977 # accept a name or number.
3978 &quot;type&quot;: 42, # The type of the value.
3979 &quot;intVal&quot;: 42, # The int value.
3980 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
3981 },
3982 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
3983 # +optional
3984 },
3985 },
3986 },
3987 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
3988 # runtime. If this is not set, reads from stdin in the container will always
3989 # result in EOF. Default is false. +optional
3990 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
3991 # &#x27;stdin&#x27; to be true. Default is false. +optional
3992 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
3993 # Cannot be updated.
3994 # +optional
3995 { # VolumeMount describes a mounting of a Volume within a container.
3996 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
3997 # Defaults to false.
3998 # +optional
3999 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
4000 # to container and the other way around.
4001 # When not set, MountPropagationHostToContainer is used.
4002 # This field is beta in 1.10.
4003 # +optional
4004 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
4005 # not contain &#x27;:&#x27;.
4006 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
4007 # Defaults to &quot;&quot; (volume&#x27;s root).
4008 # +optional
4009 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
4010 },
4011 ],
4012 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
4013 # This is an alpha feature and may change in the future.
4014 # +optional
4015 { # volumeDevice describes a mapping of a raw block device within a container.
4016 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
4017 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
4018 # mapped to.
4019 },
4020 ],
4021 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
4022 # the system additional information about the network connections a
4023 # container uses, but is primarily informational. Not specifying a port here
4024 # DOES NOT prevent that port from being exposed. Any port which is
4025 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
4026 # accessible from the network.
4027 # Cannot be updated.
4028 # +optional
4029 { # ContainerPort represents a network port in a single container.
4030 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
4031 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
4032 # If HostNetwork is specified, this must match ContainerPort.
4033 # Most containers do not need this.
4034 # +optional
4035 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
4036 # This must be a valid port number, 0 &lt; x &lt; 65536.
4037 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
4038 # Defaults to &quot;TCP&quot;.
4039 # +optional
4040 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
4041 # +optional
4042 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
4043 # named port in a pod must have a unique name. Name for the port that can be
4044 # referred to by services.
4045 # +optional
4046 },
4047 ],
4048 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
4049 # If not specified, the container runtime&#x27;s default will be used, which
4050 # might be configured in the container image.
4051 # Cannot be updated.
4052 # +optional
4053 &quot;args&quot;: [ # Arguments to the entrypoint.
4054 # The docker image&#x27;s CMD is used if this is not provided.
4055 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
4056 # environment. If a variable cannot be resolved, the reference in the input
4057 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4058 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4059 # regardless of whether the variable exists or not.
4060 # Cannot be updated.
4061 # More info:
4062 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4063 # +optional
4064 &quot;A String&quot;,
4065 ],
4066 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
4067 # been opened by a single attach. When stdin is true the stdin stream will
4068 # remain open across multiple attach sessions. If stdinOnce is set to true,
4069 # stdin is opened on container start, is empty until the first client
4070 # attaches to stdin, and then remains open and accepts data until the client
4071 # disconnects, at which time stdin is closed and remains closed until the
4072 # container is restarted. If this flag is false, a container processes that
4073 # reads from stdin will never receive an EOF. Default is false +optional
4074 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
4075 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
4076 # will be reported as an event when the container is starting. When a key
4077 # exists in multiple sources, the value associated with the last source will
4078 # take precedence. Values defined by an Env with a duplicate key will take
4079 # precedence. Cannot be updated. +optional
4080 { # EnvFromSource represents the source of a set of ConfigMaps
4081 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
4082 # +optional
4083 # variables with.
4084 #
4085 # The contents of the target ConfigMap&#x27;s Data field will represent the
4086 # key-value pairs as environment variables.
4087 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4088 #
4089 # Cloud Run for Anthos: supported
4090 #
4091 # The ConfigMap to select from.
4092 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4093 # directly into the message. Use the &quot;name&quot; field instead.
4094 # referenced object inside the same namespace.
4095 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4096 # More info:
4097 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4098 },
4099 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4100 #
4101 # Cloud Run for Anthos: supported
4102 #
4103 # Specify whether the ConfigMap must be defined
4104 # +optional
4105 },
4106 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
4107 # +optional
4108 # variables with.
4109 #
4110 # The contents of the target Secret&#x27;s Data field will represent the
4111 # key-value pairs as environment variables.
4112 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4113 # directly into the message. Use the &quot;name&quot; field instead.
4114 # referenced object inside the same namespace.
4115 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4116 # More info:
4117 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4118 },
4119 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4120 #
4121 # Cloud Run for Anthos: supported
4122 #
4123 # Specify whether the Secret must be defined
4124 # +optional
4125 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4126 #
4127 # Cloud Run for Anthos: supported
4128 #
4129 # The Secret to select from.
4130 },
4131 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
4132 # C_IDENTIFIER. +optional
4133 },
4134 ],
4135 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
4136 # More info: https://kubernetes.io/docs/concepts/containers/images
4137 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
4138 # Each container must have a unique name (DNS_LABEL).
4139 # Cannot be updated.
4140 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
4141 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
4142 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
4143 # environment. If a variable cannot be resolved, the reference in the input
4144 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4145 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4146 # regardless of whether the variable exists or not.
4147 # Cannot be updated.
4148 # More info:
4149 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4150 # +optional
4151 &quot;A String&quot;,
4152 ],
4153 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
4154 # contents of terminationMessagePath to populate the container status message
4155 # on both success and failure. FallbackToLogsOnError will use the last chunk
4156 # of container log output if the termination message file is empty and the
4157 # container exited with an error. The log output is limited to 2048 bytes or
4158 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
4159 # +optional
4160 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
4161 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
4162 # More info:
4163 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4164 # +optional
4165 # container. Some fields are present in both SecurityContext and
4166 # PodSecurityContext. When both are set, the values in SecurityContext take
4167 # precedence.
4168 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
4169 # Defaults to the default set of capabilities granted by the container
4170 # runtime. +optional
4171 &quot;add&quot;: [ # Added capabilities
4172 # +optional
4173 &quot;A String&quot;,
4174 ],
4175 &quot;drop&quot;: [ # Removed capabilities
4176 # +optional
4177 &quot;A String&quot;,
4178 ],
4179 },
4180 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
4181 # If true, the Kubelet will validate the image at runtime to ensure that it
4182 # does not run as UID 0 (root) and fail to start the container if it does.
4183 # If unset or false, no such validation will be performed.
4184 # May also be set in PodSecurityContext. If set in both SecurityContext and
4185 # PodSecurityContext, the value specified in SecurityContext takes
4186 # precedence. +optional
4187 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
4188 # Uses runtime default if unset.
4189 # May also be set in PodSecurityContext. If set in both SecurityContext and
4190 # PodSecurityContext, the value specified in SecurityContext takes
4191 # precedence. +optional
4192 &quot;privileged&quot;: True or False, # Run container in privileged mode.
4193 # Processes in privileged containers are essentially equivalent to root on
4194 # the host. Defaults to false. +optional
4195 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
4196 # privileges than its parent process. This bool directly controls if
4197 # the no_new_privs flag will be set on the container process.
4198 # AllowPrivilegeEscalation is true always when the container is:
4199 # 1) run as Privileged
4200 # 2) has CAP_SYS_ADMIN
4201 # +optional
4202 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
4203 # If unspecified, the container runtime will allocate a random SELinux
4204 # context for each container. May also be set in PodSecurityContext. If set
4205 # in both SecurityContext and PodSecurityContext, the value specified in
4206 # SecurityContext takes precedence. +optional
4207 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
4208 # +optional
4209 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
4210 # +optional
4211 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
4212 # +optional
4213 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
4214 # +optional
4215 },
4216 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
4217 # Default is false.
4218 # +optional
4219 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
4220 # Defaults to user specified in image metadata if unspecified.
4221 # May also be set in PodSecurityContext. If set in both SecurityContext and
4222 # PodSecurityContext, the value specified in SecurityContext takes
4223 # precedence. +optional
4224 },
4225 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
4226 # Container will be restarted if the probe fails.
4227 # Cannot be updated.
4228 # More info:
4229 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4230 # +optional
4231 # determine whether it is alive or ready to receive traffic.
4232 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
4233 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4234 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
4235 # are initiated. More info:
4236 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4237 # +optional
4238 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
4239 # Defaults to 1 second. Minimum value is 1.
4240 # More info:
4241 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4242 # +optional
4243 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4244 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
4245 # Exec specifies the action to take.
4246 # +optional
4247 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
4248 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
4249 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
4250 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
4251 # explicitly call out to that shell. Exit status of 0 is treated as
4252 # live/healthy and non-zero is unhealthy. +optional
4253 },
4254 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4255 # +optional
4256 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
4257 # +optional
4258 { # HTTPHeader describes a custom header to be used in HTTP probes
4259 &quot;value&quot;: &quot;A String&quot;, # The header field value
4260 &quot;name&quot;: &quot;A String&quot;, # The header field name
4261 },
4262 ],
4263 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
4264 # +optional
4265 &quot;port&quot;: { # 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.
4266 # Number must be in the range 1 to 65535.
4267 # Name must be an IANA_SVC_NAME.
4268 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4269 # inner type. This allows you to have, for example, a JSON field that can
4270 # accept a name or number.
4271 &quot;type&quot;: 42, # The type of the value.
4272 &quot;intVal&quot;: 42, # The int value.
4273 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4274 },
4275 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
4276 # &quot;Host&quot; in httpHeaders instead.
4277 # +optional
4278 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
4279 # Defaults to HTTP.
4280 # +optional
4281 },
4282 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4283 # TCP hooks not yet supported
4284 &quot;port&quot;: { # 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 &quot;type&quot;: 42, # The type of the value.
4291 &quot;intVal&quot;: 42, # The int value.
4292 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4293 },
4294 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
4295 # +optional
4296 },
4297 },
4298 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
4299 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4300 # is 1. +optional
4301 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
4302 # Default to 10 seconds. Minimum value is 1.
4303 # +optional
4304 },
4305 &quot;env&quot;: [ # List of environment variables to set in the container.
4306 # Cannot be updated.
4307 # +optional
4308 { # EnvVar represents an environment variable present in a Container.
4309 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
4310 # using the previous defined environment variables in the container and
4311 # any route environment variables. If a variable cannot be resolved,
4312 # the reference in the input string will be unchanged. The $(VAR_NAME)
4313 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
4314 # references will never be expanded, regardless of whether the variable
4315 # exists or not.
4316 # Defaults to &quot;&quot;.
4317 # +optional
4318 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
4319 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4320 #
4321 # Cloud Run on GKE: supported
4322 #
4323 # Source for the environment variable&#x27;s value. Cannot be used if value is not
4324 # empty. +optional
4325 #
4326 # Cloud Run on GKE: supported
4327 #
4328 # EnvVarSource represents a source for the value of an EnvVar.
4329 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4330 #
4331 # Cloud Run on GKE: supported
4332 #
4333 # Selects a key of a ConfigMap.
4334 # +optional
4335 #
4336 # Cloud Run on GKE: supported
4337 #
4338 # Selects a key from a ConfigMap.
4339 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4340 #
4341 # Cloud Run on GKE: supported
4342 #
4343 # Specify whether the ConfigMap or its key must be defined
4344 # +optional
4345 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4346 #
4347 # Cloud Run on GKE: supported
4348 #
4349 # The key to select.
4350 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4351 #
4352 # Cloud Run on GKE: supported
4353 #
4354 # The ConfigMap to select from.
4355 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4356 # directly into the message. Use the &quot;name&quot; field instead.
4357 # referenced object inside the same namespace.
4358 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4359 # More info:
4360 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4361 },
4362 },
4363 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
4364 #
4365 # Cloud Run on GKE: supported
4366 #
4367 # Selects a key of a secret in the pod&#x27;s namespace
4368 # +optional
4369 #
4370 # Cloud Run on GKE: supported
4371 #
4372 # SecretKeySelector selects a key of a Secret.
4373 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4374 # directly into the message. Use the &quot;name&quot; field instead.
4375 # referenced object inside the same namespace.
4376 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4377 # More info:
4378 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4379 },
4380 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4381 #
4382 # Cloud Run on GKE: supported
4383 #
4384 # Specify whether the Secret or its key must be defined
4385 # +optional
4386 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4387 #
4388 # Cloud Run on GKE: supported
4389 #
4390 # The key of the secret to select from. Must be a valid secret key.
4391 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4392 #
4393 # Cloud Run on GKE: supported
4394 #
4395 # The name of the secret in the pod&#x27;s namespace to select from.
4396 },
4397 },
4398 },
4399 ],
4400 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
4401 # Cannot be updated.
4402 # More info:
4403 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
4404 # +optional
4405 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
4406 # If Requests is omitted for a container, it defaults to Limits if that is
4407 # explicitly specified, otherwise to an implementation-defined value.
4408 # This is a temporary field created to migrate away from the
4409 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
4410 # with k8s style API.
4411 # This field is deprecated in favor of requests field.
4412 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
4413 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4414 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4415 },
4416 },
4417 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
4418 # If Requests is omitted for a container, it defaults to Limits if that is
4419 # explicitly specified, otherwise to an implementation-defined value.
4420 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
4421 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4422 &quot;a_key&quot;: &quot;A String&quot;,
4423 },
4424 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
4425 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
4426 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
4427 &quot;a_key&quot;: &quot;A String&quot;,
4428 },
4429 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
4430 # This is a temporary field created to migrate away from the
4431 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
4432 # with k8s style API.
4433 # This field is deprecated in favor of limits field.
4434 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
4435 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
4436 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
4437 },
4438 },
4439 },
4440 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
4441 # Container will be removed from service endpoints if the probe fails.
4442 # Cannot be updated.
4443 # More info:
4444 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4445 # +optional
4446 # determine whether it is alive or ready to receive traffic.
4447 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
4448 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4449 &quot;initialDelaySeconds&quot;: 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 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
4454 # Defaults to 1 second. Minimum value is 1.
4455 # More info:
4456 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4457 # +optional
4458 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4459 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
4460 # Exec specifies the action to take.
4461 # +optional
4462 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
4463 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
4464 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
4465 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
4466 # explicitly call out to that shell. Exit status of 0 is treated as
4467 # live/healthy and non-zero is unhealthy. +optional
4468 },
4469 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4470 # +optional
4471 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
4472 # +optional
4473 { # HTTPHeader describes a custom header to be used in HTTP probes
4474 &quot;value&quot;: &quot;A String&quot;, # The header field value
4475 &quot;name&quot;: &quot;A String&quot;, # The header field name
4476 },
4477 ],
4478 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
4479 # +optional
4480 &quot;port&quot;: { # 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.
4481 # Number must be in the range 1 to 65535.
4482 # Name must be an IANA_SVC_NAME.
4483 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4484 # inner type. This allows you to have, for example, a JSON field that can
4485 # accept a name or number.
4486 &quot;type&quot;: 42, # The type of the value.
4487 &quot;intVal&quot;: 42, # The int value.
4488 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4489 },
4490 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
4491 # &quot;Host&quot; in httpHeaders instead.
4492 # +optional
4493 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
4494 # Defaults to HTTP.
4495 # +optional
4496 },
4497 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4498 # TCP hooks not yet supported
4499 &quot;port&quot;: { # IntOrString is a type that can hold an int32 or a string. When used in # Number or name of the port to access on the container.
4500 # Number must be in the range 1 to 65535.
4501 # Name must be an IANA_SVC_NAME.
4502 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4503 # inner type. This allows you to have, for example, a JSON field that can
4504 # accept a name or number.
4505 &quot;type&quot;: 42, # The type of the value.
4506 &quot;intVal&quot;: 42, # The int value.
4507 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4508 },
4509 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
4510 # +optional
4511 },
4512 },
4513 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
4514 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
4515 # is 1. +optional
4516 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
4517 # Default to 10 seconds. Minimum value is 1.
4518 # +optional
4519 },
4520 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
4521 # One of Always, Never, IfNotPresent.
4522 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
4523 # Cannot be updated.
4524 # More info:
4525 # https://kubernetes.io/docs/concepts/containers/images#updating-images
4526 # +optional
4527 },
4528 ],
4529 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
4530 # metadata.generation instead, which is the sequence number containing the
4531 # latest generation of the desired state.
4532 #
4533 # Read-only.
4534 &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources
4535 # are in for this Revision.
4536 # Users must not specify this when creating a revision. It is expected
4537 # that the system will manipulate this based on routability and load.
4538 #
4539 # Populated by the system.
4540 # Read-only.
4541 &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model
4542 # (Single or Multi) for the Revision. Defaults to Multi.
4543 # Deprecated in favor of ContainerConcurrency.
4544 # +optional
4545 &quot;container&quot;: { # A single application container. # Container defines the unit of execution for this Revision.
4546 # In the context of a Revision, we disallow a number of the fields of
4547 # this Container, including: name, ports, and volumeMounts.
4548 # The runtime contract is documented here:
4549 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
4550 # This specifies both the container to run, the command to run in the container
4551 # and the arguments to supply to it.
4552 # Note that additional arguments may be supplied by the system to the container
4553 # at runtime.
4554 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
4555 # message will be written is mounted into the container&#x27;s filesystem. Message
4556 # written is intended to be brief final status, such as an assertion failure
4557 # message. Will be truncated by the node if greater than 4096 bytes. The
4558 # total message length across all containers will be limited to 12kb.
4559 # Defaults to /dev/termination-log.
4560 # Cannot be updated.
4561 # +optional
4562 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
4563 # lifecycle events. Cannot be updated. +optional
4564 # response to container lifecycle events. For the PostStart and PreStop
4565 # lifecycle handlers, management of the container blocks until the action is
4566 # complete, unless the container process fails, in which case the handler is
4567 # aborted.
4568 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
4569 # The container is terminated after the handler completes.
4570 # The reason for termination is passed to the handler.
4571 # Regardless of the outcome of the handler, the container is eventually
4572 # terminated. Other management of the container blocks until the hook
4573 # completes. More info:
4574 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4575 # +optional
4576 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
4577 # Exec specifies the action to take.
4578 # +optional
4579 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
4580 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
4581 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
4582 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
4583 # explicitly call out to that shell. Exit status of 0 is treated as
4584 # live/healthy and non-zero is unhealthy. +optional
4585 },
4586 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4587 # +optional
4588 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
4589 # +optional
4590 { # HTTPHeader describes a custom header to be used in HTTP probes
4591 &quot;value&quot;: &quot;A String&quot;, # The header field value
4592 &quot;name&quot;: &quot;A String&quot;, # The header field name
4593 },
4594 ],
4595 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
4596 # +optional
4597 &quot;port&quot;: { # 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.
4598 # Number must be in the range 1 to 65535.
4599 # Name must be an IANA_SVC_NAME.
4600 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4601 # inner type. This allows you to have, for example, a JSON field that can
4602 # accept a name or number.
4603 &quot;type&quot;: 42, # The type of the value.
4604 &quot;intVal&quot;: 42, # The int value.
4605 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4606 },
4607 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
4608 # &quot;Host&quot; in httpHeaders instead.
4609 # +optional
4610 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
4611 # Defaults to HTTP.
4612 # +optional
4613 },
4614 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4615 # TCP hooks not yet supported
4616 &quot;port&quot;: { # 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.
4617 # Number must be in the range 1 to 65535.
4618 # Name must be an IANA_SVC_NAME.
4619 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4620 # inner type. This allows you to have, for example, a JSON field that can
4621 # accept a name or number.
4622 &quot;type&quot;: 42, # The type of the value.
4623 &quot;intVal&quot;: 42, # The int value.
4624 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4625 },
4626 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
4627 # +optional
4628 },
4629 },
4630 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
4631 # handler fails, the container is terminated and restarted according to its
4632 # restart policy. Other management of the container blocks until the hook
4633 # completes. More info:
4634 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
4635 # +optional
4636 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
4637 # Exec specifies the action to take.
4638 # +optional
4639 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
4640 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
4641 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
4642 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
4643 # explicitly call out to that shell. Exit status of 0 is treated as
4644 # live/healthy and non-zero is unhealthy. +optional
4645 },
4646 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4647 # +optional
4648 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
4649 # +optional
4650 { # HTTPHeader describes a custom header to be used in HTTP probes
4651 &quot;value&quot;: &quot;A String&quot;, # The header field value
4652 &quot;name&quot;: &quot;A String&quot;, # The header field name
4653 },
4654 ],
4655 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
4656 # +optional
4657 &quot;port&quot;: { # 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.
4658 # Number must be in the range 1 to 65535.
4659 # Name must be an IANA_SVC_NAME.
4660 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4661 # inner type. This allows you to have, for example, a JSON field that can
4662 # accept a name or number.
4663 &quot;type&quot;: 42, # The type of the value.
4664 &quot;intVal&quot;: 42, # The int value.
4665 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4666 },
4667 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
4668 # &quot;Host&quot; in httpHeaders instead.
4669 # +optional
4670 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
4671 # Defaults to HTTP.
4672 # +optional
4673 },
4674 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4675 # TCP hooks not yet supported
4676 &quot;port&quot;: { # 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.
4677 # Number must be in the range 1 to 65535.
4678 # Name must be an IANA_SVC_NAME.
4679 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4680 # inner type. This allows you to have, for example, a JSON field that can
4681 # accept a name or number.
4682 &quot;type&quot;: 42, # The type of the value.
4683 &quot;intVal&quot;: 42, # The int value.
4684 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4685 },
4686 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
4687 # +optional
4688 },
4689 },
4690 },
4691 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
4692 # runtime. If this is not set, reads from stdin in the container will always
4693 # result in EOF. Default is false. +optional
4694 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
4695 # &#x27;stdin&#x27; to be true. Default is false. +optional
4696 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
4697 # Cannot be updated.
4698 # +optional
4699 { # VolumeMount describes a mounting of a Volume within a container.
4700 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
4701 # Defaults to false.
4702 # +optional
4703 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
4704 # to container and the other way around.
4705 # When not set, MountPropagationHostToContainer is used.
4706 # This field is beta in 1.10.
4707 # +optional
4708 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
4709 # not contain &#x27;:&#x27;.
4710 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
4711 # Defaults to &quot;&quot; (volume&#x27;s root).
4712 # +optional
4713 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
4714 },
4715 ],
4716 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
4717 # This is an alpha feature and may change in the future.
4718 # +optional
4719 { # volumeDevice describes a mapping of a raw block device within a container.
4720 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
4721 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
4722 # mapped to.
4723 },
4724 ],
4725 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
4726 # the system additional information about the network connections a
4727 # container uses, but is primarily informational. Not specifying a port here
4728 # DOES NOT prevent that port from being exposed. Any port which is
4729 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
4730 # accessible from the network.
4731 # Cannot be updated.
4732 # +optional
4733 { # ContainerPort represents a network port in a single container.
4734 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
4735 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
4736 # If HostNetwork is specified, this must match ContainerPort.
4737 # Most containers do not need this.
4738 # +optional
4739 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
4740 # This must be a valid port number, 0 &lt; x &lt; 65536.
4741 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
4742 # Defaults to &quot;TCP&quot;.
4743 # +optional
4744 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
4745 # +optional
4746 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
4747 # named port in a pod must have a unique name. Name for the port that can be
4748 # referred to by services.
4749 # +optional
4750 },
4751 ],
4752 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
4753 # If not specified, the container runtime&#x27;s default will be used, which
4754 # might be configured in the container image.
4755 # Cannot be updated.
4756 # +optional
4757 &quot;args&quot;: [ # Arguments to the entrypoint.
4758 # The docker image&#x27;s CMD is used if this is not provided.
4759 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
4760 # environment. If a variable cannot be resolved, the reference in the input
4761 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4762 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4763 # regardless of whether the variable exists or not.
4764 # Cannot be updated.
4765 # More info:
4766 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4767 # +optional
4768 &quot;A String&quot;,
4769 ],
4770 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
4771 # been opened by a single attach. When stdin is true the stdin stream will
4772 # remain open across multiple attach sessions. If stdinOnce is set to true,
4773 # stdin is opened on container start, is empty until the first client
4774 # attaches to stdin, and then remains open and accepts data until the client
4775 # disconnects, at which time stdin is closed and remains closed until the
4776 # container is restarted. If this flag is false, a container processes that
4777 # reads from stdin will never receive an EOF. Default is false +optional
4778 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
4779 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
4780 # will be reported as an event when the container is starting. When a key
4781 # exists in multiple sources, the value associated with the last source will
4782 # take precedence. Values defined by an Env with a duplicate key will take
4783 # precedence. Cannot be updated. +optional
4784 { # EnvFromSource represents the source of a set of ConfigMaps
4785 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
4786 # +optional
4787 # variables with.
4788 #
4789 # The contents of the target ConfigMap&#x27;s Data field will represent the
4790 # key-value pairs as environment variables.
4791 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4792 #
4793 # Cloud Run for Anthos: supported
4794 #
4795 # The ConfigMap to select from.
4796 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4797 # directly into the message. Use the &quot;name&quot; field instead.
4798 # referenced object inside the same namespace.
4799 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4800 # More info:
4801 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4802 },
4803 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4804 #
4805 # Cloud Run for Anthos: supported
4806 #
4807 # Specify whether the ConfigMap must be defined
4808 # +optional
4809 },
4810 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
4811 # +optional
4812 # variables with.
4813 #
4814 # The contents of the target Secret&#x27;s Data field will represent the
4815 # key-value pairs as environment variables.
4816 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
4817 # directly into the message. Use the &quot;name&quot; field instead.
4818 # referenced object inside the same namespace.
4819 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
4820 # More info:
4821 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
4822 },
4823 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
4824 #
4825 # Cloud Run for Anthos: supported
4826 #
4827 # Specify whether the Secret must be defined
4828 # +optional
4829 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
4830 #
4831 # Cloud Run for Anthos: supported
4832 #
4833 # The Secret to select from.
4834 },
4835 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
4836 # C_IDENTIFIER. +optional
4837 },
4838 ],
4839 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
4840 # More info: https://kubernetes.io/docs/concepts/containers/images
4841 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
4842 # Each container must have a unique name (DNS_LABEL).
4843 # Cannot be updated.
4844 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
4845 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
4846 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
4847 # environment. If a variable cannot be resolved, the reference in the input
4848 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
4849 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
4850 # regardless of whether the variable exists or not.
4851 # Cannot be updated.
4852 # More info:
4853 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
4854 # +optional
4855 &quot;A String&quot;,
4856 ],
4857 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
4858 # contents of terminationMessagePath to populate the container status message
4859 # on both success and failure. FallbackToLogsOnError will use the last chunk
4860 # of container log output if the termination message file is empty and the
4861 # container exited with an error. The log output is limited to 2048 bytes or
4862 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
4863 # +optional
4864 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
4865 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
4866 # More info:
4867 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4868 # +optional
4869 # container. Some fields are present in both SecurityContext and
4870 # PodSecurityContext. When both are set, the values in SecurityContext take
4871 # precedence.
4872 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
4873 # Defaults to the default set of capabilities granted by the container
4874 # runtime. +optional
4875 &quot;add&quot;: [ # Added capabilities
4876 # +optional
4877 &quot;A String&quot;,
4878 ],
4879 &quot;drop&quot;: [ # Removed capabilities
4880 # +optional
4881 &quot;A String&quot;,
4882 ],
4883 },
4884 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
4885 # If true, the Kubelet will validate the image at runtime to ensure that it
4886 # does not run as UID 0 (root) and fail to start the container if it does.
4887 # If unset or false, no such validation will be performed.
4888 # May also be set in PodSecurityContext. If set in both SecurityContext and
4889 # PodSecurityContext, the value specified in SecurityContext takes
4890 # precedence. +optional
4891 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
4892 # Uses runtime default if unset.
4893 # May also be set in PodSecurityContext. If set in both SecurityContext and
4894 # PodSecurityContext, the value specified in SecurityContext takes
4895 # precedence. +optional
4896 &quot;privileged&quot;: True or False, # Run container in privileged mode.
4897 # Processes in privileged containers are essentially equivalent to root on
4898 # the host. Defaults to false. +optional
4899 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
4900 # privileges than its parent process. This bool directly controls if
4901 # the no_new_privs flag will be set on the container process.
4902 # AllowPrivilegeEscalation is true always when the container is:
4903 # 1) run as Privileged
4904 # 2) has CAP_SYS_ADMIN
4905 # +optional
4906 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
4907 # If unspecified, the container runtime will allocate a random SELinux
4908 # context for each container. May also be set in PodSecurityContext. If set
4909 # in both SecurityContext and PodSecurityContext, the value specified in
4910 # SecurityContext takes precedence. +optional
4911 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
4912 # +optional
4913 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
4914 # +optional
4915 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
4916 # +optional
4917 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
4918 # +optional
4919 },
4920 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
4921 # Default is false.
4922 # +optional
4923 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
4924 # Defaults to user specified in image metadata if unspecified.
4925 # May also be set in PodSecurityContext. If set in both SecurityContext and
4926 # PodSecurityContext, the value specified in SecurityContext takes
4927 # precedence. +optional
4928 },
4929 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
4930 # Container will be restarted if the probe fails.
4931 # Cannot be updated.
4932 # More info:
4933 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4934 # +optional
4935 # determine whether it is alive or ready to receive traffic.
4936 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
4937 # having succeeded. Defaults to 3. Minimum value is 1. +optional
4938 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
4939 # are initiated. More info:
4940 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4941 # +optional
4942 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
4943 # Defaults to 1 second. Minimum value is 1.
4944 # More info:
4945 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
4946 # +optional
4947 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
4948 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
4949 # Exec specifies the action to take.
4950 # +optional
4951 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
4952 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
4953 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
4954 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
4955 # explicitly call out to that shell. Exit status of 0 is treated as
4956 # live/healthy and non-zero is unhealthy. +optional
4957 },
4958 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
4959 # +optional
4960 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
4961 # +optional
4962 { # HTTPHeader describes a custom header to be used in HTTP probes
4963 &quot;value&quot;: &quot;A String&quot;, # The header field value
4964 &quot;name&quot;: &quot;A String&quot;, # The header field name
4965 },
4966 ],
4967 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
4968 # +optional
4969 &quot;port&quot;: { # 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.
4970 # Number must be in the range 1 to 65535.
4971 # Name must be an IANA_SVC_NAME.
4972 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4973 # inner type. This allows you to have, for example, a JSON field that can
4974 # accept a name or number.
4975 &quot;type&quot;: 42, # The type of the value.
4976 &quot;intVal&quot;: 42, # The int value.
4977 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4978 },
4979 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
4980 # &quot;Host&quot; in httpHeaders instead.
4981 # +optional
4982 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
4983 # Defaults to HTTP.
4984 # +optional
4985 },
4986 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
4987 # TCP hooks not yet supported
4988 &quot;port&quot;: { # 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.
4989 # Number must be in the range 1 to 65535.
4990 # Name must be an IANA_SVC_NAME.
4991 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
4992 # inner type. This allows you to have, for example, a JSON field that can
4993 # accept a name or number.
4994 &quot;type&quot;: 42, # The type of the value.
4995 &quot;intVal&quot;: 42, # The int value.
4996 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
4997 },
4998 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
4999 # +optional
5000 },
5001 },
5002 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
5003 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5004 # is 1. +optional
5005 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
5006 # Default to 10 seconds. Minimum value is 1.
5007 # +optional
5008 },
5009 &quot;env&quot;: [ # List of environment variables to set in the container.
5010 # Cannot be updated.
5011 # +optional
5012 { # EnvVar represents an environment variable present in a Container.
5013 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
5014 # using the previous defined environment variables in the container and
5015 # any route environment variables. If a variable cannot be resolved,
5016 # the reference in the input string will be unchanged. The $(VAR_NAME)
5017 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
5018 # references will never be expanded, regardless of whether the variable
5019 # exists or not.
5020 # Defaults to &quot;&quot;.
5021 # +optional
5022 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
5023 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5024 #
5025 # Cloud Run on GKE: supported
5026 #
5027 # Source for the environment variable&#x27;s value. Cannot be used if value is not
5028 # empty. +optional
5029 #
5030 # Cloud Run on GKE: supported
5031 #
5032 # EnvVarSource represents a source for the value of an EnvVar.
5033 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5034 #
5035 # Cloud Run on GKE: supported
5036 #
5037 # Selects a key of a ConfigMap.
5038 # +optional
5039 #
5040 # Cloud Run on GKE: supported
5041 #
5042 # Selects a key from a ConfigMap.
5043 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
5044 #
5045 # Cloud Run on GKE: supported
5046 #
5047 # Specify whether the ConfigMap or its key must be defined
5048 # +optional
5049 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5050 #
5051 # Cloud Run on GKE: supported
5052 #
5053 # The key to select.
5054 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5055 #
5056 # Cloud Run on GKE: supported
5057 #
5058 # The ConfigMap to select from.
5059 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5060 # directly into the message. Use the &quot;name&quot; field instead.
5061 # referenced object inside the same namespace.
5062 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
5063 # More info:
5064 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5065 },
5066 },
5067 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
5068 #
5069 # Cloud Run on GKE: supported
5070 #
5071 # Selects a key of a secret in the pod&#x27;s namespace
5072 # +optional
5073 #
5074 # Cloud Run on GKE: supported
5075 #
5076 # SecretKeySelector selects a key of a Secret.
5077 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5078 # directly into the message. Use the &quot;name&quot; field instead.
5079 # referenced object inside the same namespace.
5080 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
5081 # More info:
5082 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5083 },
5084 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
5085 #
5086 # Cloud Run on GKE: supported
5087 #
5088 # Specify whether the Secret or its key must be defined
5089 # +optional
5090 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5091 #
5092 # Cloud Run on GKE: supported
5093 #
5094 # The key of the secret to select from. Must be a valid secret key.
5095 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5096 #
5097 # Cloud Run on GKE: supported
5098 #
5099 # The name of the secret in the pod&#x27;s namespace to select from.
5100 },
5101 },
5102 },
5103 ],
5104 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
5105 # Cannot be updated.
5106 # More info:
5107 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
5108 # +optional
5109 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
5110 # If Requests is omitted for a container, it defaults to Limits if that is
5111 # explicitly specified, otherwise to an implementation-defined value.
5112 # This is a temporary field created to migrate away from the
5113 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
5114 # with k8s style API.
5115 # This field is deprecated in favor of requests field.
5116 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
5117 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5118 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5119 },
5120 },
5121 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
5122 # If Requests is omitted for a container, it defaults to Limits if that is
5123 # explicitly specified, otherwise to an implementation-defined value.
5124 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
5125 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5126 &quot;a_key&quot;: &quot;A String&quot;,
5127 },
5128 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
5129 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
5130 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5131 &quot;a_key&quot;: &quot;A String&quot;,
5132 },
5133 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
5134 # This is a temporary field created to migrate away from the
5135 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
5136 # with k8s style API.
5137 # This field is deprecated in favor of limits field.
5138 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
5139 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
5140 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
5141 },
5142 },
5143 },
5144 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
5145 # Container will be removed from service endpoints if the probe fails.
5146 # Cannot be updated.
5147 # More info:
5148 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5149 # +optional
5150 # determine whether it is alive or ready to receive traffic.
5151 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
5152 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5153 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
5154 # are initiated. More info:
5155 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5156 # +optional
5157 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
5158 # Defaults to 1 second. Minimum value is 1.
5159 # More info:
5160 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5161 # +optional
5162 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5163 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
5164 # Exec specifies the action to take.
5165 # +optional
5166 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
5167 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
5168 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
5169 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
5170 # explicitly call out to that shell. Exit status of 0 is treated as
5171 # live/healthy and non-zero is unhealthy. +optional
5172 },
5173 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5174 # +optional
5175 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
5176 # +optional
5177 { # HTTPHeader describes a custom header to be used in HTTP probes
5178 &quot;value&quot;: &quot;A String&quot;, # The header field value
5179 &quot;name&quot;: &quot;A String&quot;, # The header field name
5180 },
5181 ],
5182 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
5183 # +optional
5184 &quot;port&quot;: { # 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.
5185 # Number must be in the range 1 to 65535.
5186 # Name must be an IANA_SVC_NAME.
5187 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5188 # inner type. This allows you to have, for example, a JSON field that can
5189 # accept a name or number.
5190 &quot;type&quot;: 42, # The type of the value.
5191 &quot;intVal&quot;: 42, # The int value.
5192 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5193 },
5194 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
5195 # &quot;Host&quot; in httpHeaders instead.
5196 # +optional
5197 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
5198 # Defaults to HTTP.
5199 # +optional
5200 },
5201 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5202 # TCP hooks not yet supported
5203 &quot;port&quot;: { # 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.
5204 # Number must be in the range 1 to 65535.
5205 # Name must be an IANA_SVC_NAME.
5206 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5207 # inner type. This allows you to have, for example, a JSON field that can
5208 # accept a name or number.
5209 &quot;type&quot;: 42, # The type of the value.
5210 &quot;intVal&quot;: 42, # The int value.
5211 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5212 },
5213 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
5214 # +optional
5215 },
5216 },
5217 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
5218 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5219 # is 1. +optional
5220 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
5221 # Default to 10 seconds. Minimum value is 1.
5222 # +optional
5223 },
5224 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
5225 # One of Always, Never, IfNotPresent.
5226 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
5227 # Cannot be updated.
5228 # More info:
5229 # https://kubernetes.io/docs/concepts/containers/images#updating-images
5230 # +optional
5231 },
5232 &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
5233 # responding to a request.
5234 # Not currently used by Cloud Run.
5235 &quot;volumes&quot;: [
5236 { # Volume represents a named volume in a container.
5237 &quot;configMap&quot;: { # Adapts a ConfigMap into a volume.
5238 # The contents of the target ConfigMap&#x27;s Data field will be presented in a
5239 # volume as files using the keys in the Data field as the file names, unless
5240 # the items element is populated with specific mappings of keys to paths.
5241 &quot;name&quot;: &quot;A String&quot;, # Name of the config.
5242 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
5243 # 0777. Defaults to 0644. Directories within the path are not affected by
5244 # this setting. This might be in conflict with other options that affect the
5245 # file mode, like fsGroup, and the result can be other mode bits set.
5246 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
5247 # Secret will be projected into the volume as a file whose name is the
5248 # key and content is the value. If specified, the listed keys will be
5249 # projected into the specified paths, and unlisted keys will not be
5250 # present. If a key is specified which is not present in the Secret,
5251 # the volume setup will error unless it is marked optional.
5252 { # Maps a string key to a path within a volume.
5253 &quot;key&quot;: &quot;A String&quot;, # The key to project.
5254 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
5255 # May not be an absolute path.
5256 # May not contain the path element &#x27;..&#x27;.
5257 # May not start with the string &#x27;..&#x27;.
5258 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
5259 # specified, the volume defaultMode will be used. This might be in conflict
5260 # with other options that affect the file mode, like fsGroup, and the result
5261 # can be other mode bits set. +optional
5262 },
5263 ],
5264 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5265 },
5266 &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
5267 &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume
5268 # as files using the keys in the Data field as the file names.
5269 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
5270 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
5271 # 0777. Defaults to 0644. Directories within the path are not affected by
5272 # this setting. This might be in conflict with other options that affect the
5273 # file mode, like fsGroup, and the result can be other mode bits set.
5274 &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
5275 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
5276 # Secret will be projected into the volume as a file whose name is the
5277 # key and content is the value. If specified, the listed keys will be
5278 # projected into the specified paths, and unlisted keys will not be
5279 # present. If a key is specified which is not present in the Secret,
5280 # the volume setup will error unless it is marked optional.
5281 { # Maps a string key to a path within a volume.
5282 &quot;key&quot;: &quot;A String&quot;, # The key to project.
5283 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
5284 # May not be an absolute path.
5285 # May not contain the path element &#x27;..&#x27;.
5286 # May not start with the string &#x27;..&#x27;.
5287 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
5288 # specified, the volume defaultMode will be used. This might be in conflict
5289 # with other options that affect the file mode, like fsGroup, and the result
5290 # can be other mode bits set. +optional
5291 },
5292 ],
5293 },
5294 },
5295 ],
5296 },
5297 },
5298 &quot;revisionTemplate&quot;: { # RevisionTemplateSpec describes the data a revision should have when created # RevisionTemplate holds the latest specification for the Revision to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005299 # be stamped out. The template references the container image, and may also
5300 # include labels and annotations that should be attached to the Revision.
5301 # To correlate a Revision, and/or to force a Revision to be created when the
Bu Sun Kim65020912020-05-20 12:08:20 -07005302 # spec doesn&#x27;t otherwise change, a nonce label may be provided in the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005303 # template metadata. For more details, see:
5304 # https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions
5305 #
5306 # Cloud Run does not currently support referencing a build that is
5307 # responsible for materializing the container image from source.
5308 # from a template. Based on:
5309 # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
Bu Sun Kim65020912020-05-20 12:08:20 -07005310 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Optional metadata for this Revision, including labels and annotations. Name
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005311 # will be generated by the Configuration.
Dan O'Mearadd494642020-05-01 07:42:23 -07005312 # To set minimum instances for this revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07005313 # &quot;autoscaling.knative.dev/minScale&quot; annotation key. (Cloud Run on GKE only).
Dan O'Mearadd494642020-05-01 07:42:23 -07005314 # To set maximum instances for this revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07005315 # &quot;autoscaling.knative.dev/maxScale&quot; annotation key.
Dan O'Mearadd494642020-05-01 07:42:23 -07005316 # To set Cloud SQL connections for the revision, use the
Bu Sun Kim65020912020-05-20 12:08:20 -07005317 # &quot;run.googleapis.com/cloudsql-instances&quot; annotation key. Values should be
Dan O'Mearadd494642020-05-01 07:42:23 -07005318 # comma separated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005319 # all objects users must create.
Bu Sun Kim65020912020-05-20 12:08:20 -07005320 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
5321 # may be set by external tools to store and retrieve arbitrary metadata. They
5322 # are not queryable and should be preserved when modifying objects. More
5323 # info: http://kubernetes.io/docs/user-guide/annotations +optional
5324 &quot;a_key&quot;: &quot;A String&quot;,
5325 },
5326 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
5327 #
5328 # GenerateName is an optional prefix, used by the server, to generate a
5329 # unique name ONLY IF the Name field has not been provided. If this field is
5330 # used, the name returned to the client will be different than the name
5331 # passed. This value will also be combined with a unique suffix. The provided
5332 # value has the same validation rules as the Name field, and may be truncated
5333 # by the length of the suffix required to make the value unique on the
5334 # server.
5335 #
5336 # If this field is specified and the generated name exists, the server will
5337 # NOT return a 409 - instead, it will either return 201 Created or 500 with
5338 # Reason ServerTimeout indicating a unique name could not be found in the
5339 # time allotted, and the client should retry (optionally after the time
5340 # indicated in the Retry-After header).
5341 #
5342 # Applied only if Name is not specified.
5343 # More info:
5344 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005345 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005346 # string generateName = 2;
5347 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005348 # Is required when creating
5349 # resources, although some resources may allow a client to request the
5350 # generation of an appropriate name automatically. Name is primarily intended
5351 # for creation idempotence and configuration definition. Cannot be updated.
5352 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
5353 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005354 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
5355 #
5356 # The name of the cluster which the object belongs to.
5357 # This is used to distinguish resources with same name and namespace in
5358 # different clusters. This field is not set anywhere right now and apiserver
5359 # is going to ignore it if set in create or update request. +optional
5360 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
5361 #
5362 # Number of seconds allowed for this object to gracefully terminate before
5363 # it will be removed from the system. Only set when deletionTimestamp is also
5364 # set. May only be shortened. Read-only. +optional
5365 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
5366 #
5367 # Must be empty before the object is deleted from the registry. Each entry
5368 # is an identifier for the responsible component that will remove the entry
5369 # from the list. If the deletionTimestamp of the object is non-nil, entries
5370 # in this list can only be removed.
5371 # +optional
5372 # +patchStrategy=merge
5373 &quot;A String&quot;,
5374 ],
5375 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005376 # deleted. This field is set by the server when a graceful deletion is
5377 # requested by the user, and is not directly settable by a client. The
5378 # resource is expected to be deleted (no longer visible from resource lists,
5379 # and not reachable by name) after the time in this field, once the
5380 # finalizers list is empty. As long as the finalizers list contains items,
5381 # deletion is blocked. Once the deletionTimestamp is set, this value may not
5382 # be unset or be set further into the future, although it may be shortened or
5383 # the resource may be deleted prior to this time. For example, a user may
5384 # request that a pod is deleted in 30 seconds. The Kubelet will react by
5385 # sending a graceful termination signal to the containers in the pod. After
5386 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
5387 # to the container and after cleanup, remove the pod from the API. In the
5388 # presence of network partitions, this object may still exist after this
5389 # timestamp, until an administrator or automated process can determine the
5390 # resource is fully terminated.
5391 # If not set, graceful deletion of the object has not been requested.
5392 #
5393 # Populated by the system when a graceful deletion is requested.
5394 # Read-only.
5395 # More info:
5396 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
5397 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005398 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
5399 # been deleted, this object will be garbage collected.
5400 # +optional
5401 { # OwnerReference contains enough information to let you identify an owning
5402 # object. Currently, an owning object must be in the same namespace, so there
5403 # is no namespace field.
5404 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
5405 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
5406 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
5407 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
5408 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
5409 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
5410 # +optional
5411 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
5412 # More info:
5413 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
5414 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
5415 # the owner cannot be deleted from the key-value store until this
5416 # reference is removed.
5417 # Defaults to false.
5418 # To set this field, a user needs &quot;delete&quot; permission of the owner,
5419 # otherwise 422 (Unprocessable Entity) will be returned.
5420 # +optional
5421 },
5422 ],
5423 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
5424 # object was created. It is not guaranteed to be set in happens-before order
5425 # across separate operations. Clients may not set this value. It is
5426 # represented in RFC3339 form and is in UTC.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005427 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005428 # Populated by the system.
5429 # Read-only.
5430 # Null for lists.
5431 # More info:
5432 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
5433 # +optional
5434 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005435 # (scope and select) objects. May match selectors of replication controllers
5436 # and routes.
5437 # More info: http://kubernetes.io/docs/user-guide/labels
5438 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005439 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005440 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005441 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005442 # Populated by the system. Read-only.
5443 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005444 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005445 # can be used by clients to determine when objects have changed. May be used
5446 # for optimistic concurrency, change detection, and the watch operation on a
5447 # resource or set of resources. Clients must treat these values as opaque and
5448 # passed unmodified back to the server. They may only be valid for a
5449 # particular resource or set of resources.
5450 #
5451 # Populated by the system.
5452 # Read-only.
5453 # Value must be treated as opaque by clients and .
5454 # More info:
5455 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
5456 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005457 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005458 # generated by the server on successful creation of a resource and is not
5459 # allowed to change on PUT operations.
5460 #
5461 # Populated by the system.
5462 # Read-only.
5463 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
5464 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005465 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
Dan O'Mearadd494642020-05-01 07:42:23 -07005466 # Populated by the system.
5467 # Read-only.
Dan O'Mearadd494642020-05-01 07:42:23 -07005468 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005469 # string selfLink = 4;
5470 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
5471 # Cloud Run region. In Cloud Run the namespace must be equal to either the
5472 # project ID or project number.
5473 },
5474 &quot;spec&quot;: { # RevisionSpec holds the desired state of the Revision (from the client). # RevisionSpec holds the desired state of the Revision (from the client).
5475 &quot;containerConcurrency&quot;: 42, # (Optional)
Dan O'Mearadd494642020-05-01 07:42:23 -07005476 #
5477 # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
5478 # requests per container instance of the Revision.
5479 #
5480 # Cloud Run fully managed: supported, defaults to 80
5481 #
5482 # Cloud Run on GKE: supported, defaults to 0, which means concurrency
5483 # to the application is not limited, and the system decides the
5484 # target concurrency for the autoscaler.
Bu Sun Kim65020912020-05-20 12:08:20 -07005485 &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision
5486 # of the service. The service account represents the identity of the
5487 # running revision, and determines what permissions the revision has. If
5488 # not provided, the revision will use the project&#x27;s default service account.
5489 &quot;containers&quot;: [ # Containers holds the single container that defines the unit of execution
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005490 # for this Revision. In the context of a Revision, we disallow a number of
5491 # fields on this Container, including: name and lifecycle.
Dan O'Mearadd494642020-05-01 07:42:23 -07005492 # In Cloud Run, only a single container may be provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005493 { # A single application container.
5494 # This specifies both the container to run, the command to run in the container
5495 # and the arguments to supply to it.
5496 # Note that additional arguments may be supplied by the system to the container
5497 # at runtime.
Bu Sun Kim65020912020-05-20 12:08:20 -07005498 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
5499 # message will be written is mounted into the container&#x27;s filesystem. Message
5500 # written is intended to be brief final status, such as an assertion failure
5501 # message. Will be truncated by the node if greater than 4096 bytes. The
5502 # total message length across all containers will be limited to 12kb.
5503 # Defaults to /dev/termination-log.
Dan O'Mearadd494642020-05-01 07:42:23 -07005504 # Cannot be updated.
Dan O'Mearadd494642020-05-01 07:42:23 -07005505 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005506 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
5507 # lifecycle events. Cannot be updated. +optional
5508 # response to container lifecycle events. For the PostStart and PreStop
5509 # lifecycle handlers, management of the container blocks until the action is
5510 # complete, unless the container process fails, in which case the handler is
5511 # aborted.
5512 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
5513 # The container is terminated after the handler completes.
5514 # The reason for termination is passed to the handler.
5515 # Regardless of the outcome of the handler, the container is eventually
5516 # terminated. Other management of the container blocks until the hook
5517 # completes. More info:
5518 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
Dan O'Mearadd494642020-05-01 07:42:23 -07005519 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005520 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
Dan O'Mearadd494642020-05-01 07:42:23 -07005521 # Exec specifies the action to take.
5522 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005523 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
5524 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
5525 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
5526 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
Dan O'Mearadd494642020-05-01 07:42:23 -07005527 # explicitly call out to that shell. Exit status of 0 is treated as
5528 # live/healthy and non-zero is unhealthy. +optional
5529 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005530 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5531 # +optional
5532 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
5533 # +optional
5534 { # HTTPHeader describes a custom header to be used in HTTP probes
5535 &quot;value&quot;: &quot;A String&quot;, # The header field value
5536 &quot;name&quot;: &quot;A String&quot;, # The header field name
5537 },
5538 ],
5539 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
5540 # +optional
5541 &quot;port&quot;: { # 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.
5542 # Number must be in the range 1 to 65535.
5543 # Name must be an IANA_SVC_NAME.
5544 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5545 # inner type. This allows you to have, for example, a JSON field that can
5546 # accept a name or number.
5547 &quot;type&quot;: 42, # The type of the value.
5548 &quot;intVal&quot;: 42, # The int value.
5549 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5550 },
5551 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
5552 # &quot;Host&quot; in httpHeaders instead.
5553 # +optional
5554 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
5555 # Defaults to HTTP.
5556 # +optional
5557 },
5558 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5559 # TCP hooks not yet supported
5560 &quot;port&quot;: { # 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.
5561 # Number must be in the range 1 to 65535.
5562 # Name must be an IANA_SVC_NAME.
5563 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5564 # inner type. This allows you to have, for example, a JSON field that can
5565 # accept a name or number.
5566 &quot;type&quot;: 42, # The type of the value.
5567 &quot;intVal&quot;: 42, # The int value.
5568 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5569 },
5570 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
5571 # +optional
5572 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005573 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005574 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
5575 # handler fails, the container is terminated and restarted according to its
5576 # restart policy. Other management of the container blocks until the hook
5577 # completes. More info:
5578 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
Dan O'Mearadd494642020-05-01 07:42:23 -07005579 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005580 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
5581 # Exec specifies the action to take.
5582 # +optional
5583 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
5584 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
5585 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
5586 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
5587 # explicitly call out to that shell. Exit status of 0 is treated as
5588 # live/healthy and non-zero is unhealthy. +optional
5589 },
5590 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5591 # +optional
5592 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
5593 # +optional
5594 { # HTTPHeader describes a custom header to be used in HTTP probes
5595 &quot;value&quot;: &quot;A String&quot;, # The header field value
5596 &quot;name&quot;: &quot;A String&quot;, # The header field name
5597 },
5598 ],
5599 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
5600 # +optional
5601 &quot;port&quot;: { # 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.
5602 # Number must be in the range 1 to 65535.
5603 # Name must be an IANA_SVC_NAME.
5604 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5605 # inner type. This allows you to have, for example, a JSON field that can
5606 # accept a name or number.
5607 &quot;type&quot;: 42, # The type of the value.
5608 &quot;intVal&quot;: 42, # The int value.
5609 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5610 },
5611 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
5612 # &quot;Host&quot; in httpHeaders instead.
5613 # +optional
5614 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
5615 # Defaults to HTTP.
5616 # +optional
5617 },
5618 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5619 # TCP hooks not yet supported
5620 &quot;port&quot;: { # 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.
5621 # Number must be in the range 1 to 65535.
5622 # Name must be an IANA_SVC_NAME.
5623 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5624 # inner type. This allows you to have, for example, a JSON field that can
5625 # accept a name or number.
5626 &quot;type&quot;: 42, # The type of the value.
5627 &quot;intVal&quot;: 42, # The int value.
5628 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5629 },
5630 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
5631 # +optional
5632 },
5633 },
Dan O'Mearadd494642020-05-01 07:42:23 -07005634 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005635 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
5636 # runtime. If this is not set, reads from stdin in the container will always
5637 # result in EOF. Default is false. +optional
5638 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
5639 # &#x27;stdin&#x27; to be true. Default is false. +optional
5640 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
5641 # Cannot be updated.
5642 # +optional
5643 { # VolumeMount describes a mounting of a Volume within a container.
5644 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
5645 # Defaults to false.
5646 # +optional
5647 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
5648 # to container and the other way around.
5649 # When not set, MountPropagationHostToContainer is used.
5650 # This field is beta in 1.10.
5651 # +optional
5652 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
5653 # not contain &#x27;:&#x27;.
5654 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
5655 # Defaults to &quot;&quot; (volume&#x27;s root).
5656 # +optional
5657 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
5658 },
5659 ],
5660 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
5661 # This is an alpha feature and may change in the future.
5662 # +optional
5663 { # volumeDevice describes a mapping of a raw block device within a container.
5664 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
5665 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
5666 # mapped to.
5667 },
5668 ],
5669 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
5670 # the system additional information about the network connections a
5671 # container uses, but is primarily informational. Not specifying a port here
5672 # DOES NOT prevent that port from being exposed. Any port which is
5673 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
5674 # accessible from the network.
5675 # Cannot be updated.
5676 # +optional
5677 { # ContainerPort represents a network port in a single container.
5678 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
5679 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
5680 # If HostNetwork is specified, this must match ContainerPort.
5681 # Most containers do not need this.
5682 # +optional
5683 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
5684 # This must be a valid port number, 0 &lt; x &lt; 65536.
5685 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
5686 # Defaults to &quot;TCP&quot;.
5687 # +optional
5688 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
5689 # +optional
5690 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
5691 # named port in a pod must have a unique name. Name for the port that can be
5692 # referred to by services.
5693 # +optional
5694 },
5695 ],
5696 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
5697 # If not specified, the container runtime&#x27;s default will be used, which
5698 # might be configured in the container image.
5699 # Cannot be updated.
5700 # +optional
5701 &quot;args&quot;: [ # Arguments to the entrypoint.
5702 # The docker image&#x27;s CMD is used if this is not provided.
5703 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
Dan O'Mearadd494642020-05-01 07:42:23 -07005704 # environment. If a variable cannot be resolved, the reference in the input
5705 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5706 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5707 # regardless of whether the variable exists or not.
5708 # Cannot be updated.
5709 # More info:
5710 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5711 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005712 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07005713 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005714 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
Dan O'Mearadd494642020-05-01 07:42:23 -07005715 # been opened by a single attach. When stdin is true the stdin stream will
5716 # remain open across multiple attach sessions. If stdinOnce is set to true,
5717 # stdin is opened on container start, is empty until the first client
5718 # attaches to stdin, and then remains open and accepts data until the client
5719 # disconnects, at which time stdin is closed and remains closed until the
5720 # container is restarted. If this flag is false, a container processes that
5721 # reads from stdin will never receive an EOF. Default is false +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005722 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
5723 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
5724 # will be reported as an event when the container is starting. When a key
5725 # exists in multiple sources, the value associated with the last source will
5726 # take precedence. Values defined by an Env with a duplicate key will take
5727 # precedence. Cannot be updated. +optional
5728 { # EnvFromSource represents the source of a set of ConfigMaps
5729 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
5730 # +optional
5731 # variables with.
5732 #
5733 # The contents of the target ConfigMap&#x27;s Data field will represent the
5734 # key-value pairs as environment variables.
5735 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5736 #
5737 # Cloud Run for Anthos: supported
5738 #
5739 # The ConfigMap to select from.
5740 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5741 # directly into the message. Use the &quot;name&quot; field instead.
5742 # referenced object inside the same namespace.
5743 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
5744 # More info:
5745 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5746 },
5747 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
5748 #
5749 # Cloud Run for Anthos: supported
5750 #
5751 # Specify whether the ConfigMap must be defined
5752 # +optional
5753 },
5754 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
5755 # +optional
5756 # variables with.
5757 #
5758 # The contents of the target Secret&#x27;s Data field will represent the
5759 # key-value pairs as environment variables.
5760 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
5761 # directly into the message. Use the &quot;name&quot; field instead.
5762 # referenced object inside the same namespace.
5763 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
5764 # More info:
5765 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
5766 },
5767 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
5768 #
5769 # Cloud Run for Anthos: supported
5770 #
5771 # Specify whether the Secret must be defined
5772 # +optional
5773 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5774 #
5775 # Cloud Run for Anthos: supported
5776 #
5777 # The Secret to select from.
5778 },
5779 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
5780 # C_IDENTIFIER. +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005781 },
5782 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005783 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
5784 # More info: https://kubernetes.io/docs/concepts/containers/images
5785 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
5786 # Each container must have a unique name (DNS_LABEL).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005787 # Cannot be updated.
Bu Sun Kim65020912020-05-20 12:08:20 -07005788 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
5789 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
5790 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005791 # environment. If a variable cannot be resolved, the reference in the input
5792 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
5793 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
5794 # regardless of whether the variable exists or not.
5795 # Cannot be updated.
5796 # More info:
5797 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
5798 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005799 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005800 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005801 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
5802 # contents of terminationMessagePath to populate the container status message
5803 # on both success and failure. FallbackToLogsOnError will use the last chunk
5804 # of container log output if the termination message file is empty and the
5805 # container exited with an error. The log output is limited to 2048 bytes or
5806 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
5807 # +optional
5808 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
5809 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
5810 # More info:
5811 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
5812 # +optional
5813 # container. Some fields are present in both SecurityContext and
5814 # PodSecurityContext. When both are set, the values in SecurityContext take
5815 # precedence.
5816 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
5817 # Defaults to the default set of capabilities granted by the container
5818 # runtime. +optional
5819 &quot;add&quot;: [ # Added capabilities
5820 # +optional
5821 &quot;A String&quot;,
5822 ],
5823 &quot;drop&quot;: [ # Removed capabilities
5824 # +optional
5825 &quot;A String&quot;,
5826 ],
5827 },
5828 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
5829 # If true, the Kubelet will validate the image at runtime to ensure that it
5830 # does not run as UID 0 (root) and fail to start the container if it does.
5831 # If unset or false, no such validation will be performed.
5832 # May also be set in PodSecurityContext. If set in both SecurityContext and
5833 # PodSecurityContext, the value specified in SecurityContext takes
5834 # precedence. +optional
5835 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
5836 # Uses runtime default if unset.
5837 # May also be set in PodSecurityContext. If set in both SecurityContext and
5838 # PodSecurityContext, the value specified in SecurityContext takes
5839 # precedence. +optional
5840 &quot;privileged&quot;: True or False, # Run container in privileged mode.
5841 # Processes in privileged containers are essentially equivalent to root on
5842 # the host. Defaults to false. +optional
5843 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
5844 # privileges than its parent process. This bool directly controls if
5845 # the no_new_privs flag will be set on the container process.
5846 # AllowPrivilegeEscalation is true always when the container is:
5847 # 1) run as Privileged
5848 # 2) has CAP_SYS_ADMIN
5849 # +optional
5850 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
5851 # If unspecified, the container runtime will allocate a random SELinux
5852 # context for each container. May also be set in PodSecurityContext. If set
5853 # in both SecurityContext and PodSecurityContext, the value specified in
5854 # SecurityContext takes precedence. +optional
5855 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
5856 # +optional
5857 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
5858 # +optional
5859 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
5860 # +optional
5861 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
5862 # +optional
5863 },
5864 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
5865 # Default is false.
5866 # +optional
5867 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
5868 # Defaults to user specified in image metadata if unspecified.
5869 # May also be set in PodSecurityContext. If set in both SecurityContext and
5870 # PodSecurityContext, the value specified in SecurityContext takes
5871 # precedence. +optional
5872 },
5873 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
5874 # Container will be restarted if the probe fails.
5875 # Cannot be updated.
5876 # More info:
5877 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5878 # +optional
5879 # determine whether it is alive or ready to receive traffic.
5880 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
5881 # having succeeded. Defaults to 3. Minimum value is 1. +optional
5882 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
5883 # are initiated. More info:
5884 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5885 # +optional
5886 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
5887 # Defaults to 1 second. Minimum value is 1.
5888 # More info:
5889 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
5890 # +optional
5891 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
5892 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
5893 # Exec specifies the action to take.
5894 # +optional
5895 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
5896 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
5897 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
5898 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
5899 # explicitly call out to that shell. Exit status of 0 is treated as
5900 # live/healthy and non-zero is unhealthy. +optional
5901 },
5902 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
5903 # +optional
5904 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
5905 # +optional
5906 { # HTTPHeader describes a custom header to be used in HTTP probes
5907 &quot;value&quot;: &quot;A String&quot;, # The header field value
5908 &quot;name&quot;: &quot;A String&quot;, # The header field name
5909 },
5910 ],
5911 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
5912 # +optional
5913 &quot;port&quot;: { # 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.
5914 # Number must be in the range 1 to 65535.
5915 # Name must be an IANA_SVC_NAME.
5916 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5917 # inner type. This allows you to have, for example, a JSON field that can
5918 # accept a name or number.
5919 &quot;type&quot;: 42, # The type of the value.
5920 &quot;intVal&quot;: 42, # The int value.
5921 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5922 },
5923 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
5924 # &quot;Host&quot; in httpHeaders instead.
5925 # +optional
5926 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
5927 # Defaults to HTTP.
5928 # +optional
5929 },
5930 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
5931 # TCP hooks not yet supported
5932 &quot;port&quot;: { # 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.
5933 # Number must be in the range 1 to 65535.
5934 # Name must be an IANA_SVC_NAME.
5935 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
5936 # inner type. This allows you to have, for example, a JSON field that can
5937 # accept a name or number.
5938 &quot;type&quot;: 42, # The type of the value.
5939 &quot;intVal&quot;: 42, # The int value.
5940 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
5941 },
5942 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
5943 # +optional
5944 },
5945 },
5946 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
5947 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
5948 # is 1. +optional
5949 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
5950 # Default to 10 seconds. Minimum value is 1.
5951 # +optional
5952 },
5953 &quot;env&quot;: [ # List of environment variables to set in the container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005954 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005955 # +optional
Dan O'Mearadd494642020-05-01 07:42:23 -07005956 { # EnvVar represents an environment variable present in a Container.
Bu Sun Kim65020912020-05-20 12:08:20 -07005957 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
5958 # using the previous defined environment variables in the container and
5959 # any route environment variables. If a variable cannot be resolved,
5960 # the reference in the input string will be unchanged. The $(VAR_NAME)
5961 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
5962 # references will never be expanded, regardless of whether the variable
5963 # exists or not.
5964 # Defaults to &quot;&quot;.
5965 # +optional
5966 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
5967 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07005968 #
5969 # Cloud Run on GKE: supported
5970 #
Bu Sun Kim65020912020-05-20 12:08:20 -07005971 # Source for the environment variable&#x27;s value. Cannot be used if value is not
Dan O'Mearadd494642020-05-01 07:42:23 -07005972 # empty. +optional
5973 #
5974 # Cloud Run on GKE: supported
5975 #
5976 # EnvVarSource represents a source for the value of an EnvVar.
Bu Sun Kim65020912020-05-20 12:08:20 -07005977 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07005978 #
5979 # Cloud Run on GKE: supported
5980 #
5981 # Selects a key of a ConfigMap.
5982 # +optional
5983 #
5984 # Cloud Run on GKE: supported
5985 #
5986 # Selects a key from a ConfigMap.
Bu Sun Kim65020912020-05-20 12:08:20 -07005987 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07005988 #
5989 # Cloud Run on GKE: supported
5990 #
5991 # Specify whether the ConfigMap or its key must be defined
5992 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07005993 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
Dan O'Mearadd494642020-05-01 07:42:23 -07005994 #
5995 # Cloud Run on GKE: supported
5996 #
5997 # The key to select.
Bu Sun Kim65020912020-05-20 12:08:20 -07005998 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
5999 #
6000 # Cloud Run on GKE: supported
6001 #
6002 # The ConfigMap to select from.
6003 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6004 # directly into the message. Use the &quot;name&quot; field instead.
6005 # referenced object inside the same namespace.
6006 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6007 # More info:
6008 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6009 },
6010 },
6011 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6012 #
6013 # Cloud Run on GKE: supported
6014 #
6015 # Selects a key of a secret in the pod&#x27;s namespace
6016 # +optional
6017 #
6018 # Cloud Run on GKE: supported
6019 #
6020 # SecretKeySelector selects a key of a Secret.
6021 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6022 # directly into the message. Use the &quot;name&quot; field instead.
6023 # referenced object inside the same namespace.
6024 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6025 # More info:
6026 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6027 },
6028 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
6029 #
6030 # Cloud Run on GKE: supported
6031 #
6032 # Specify whether the Secret or its key must be defined
6033 # +optional
6034 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6035 #
6036 # Cloud Run on GKE: supported
6037 #
6038 # The key of the secret to select from. Must be a valid secret key.
6039 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6040 #
6041 # Cloud Run on GKE: supported
6042 #
6043 # The name of the secret in the pod&#x27;s namespace to select from.
Dan O'Mearadd494642020-05-01 07:42:23 -07006044 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006045 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006046 },
Dan O'Mearadd494642020-05-01 07:42:23 -07006047 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07006048 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006049 # Cannot be updated.
6050 # More info:
6051 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
6052 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07006053 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006054 # If Requests is omitted for a container, it defaults to Limits if that is
6055 # explicitly specified, otherwise to an implementation-defined value.
6056 # This is a temporary field created to migrate away from the
Dan O'Mearadd494642020-05-01 07:42:23 -07006057 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006058 # with k8s style API.
6059 # This field is deprecated in favor of requests field.
Bu Sun Kim65020912020-05-20 12:08:20 -07006060 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006061 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
Bu Sun Kim65020912020-05-20 12:08:20 -07006062 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006063 },
6064 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006065 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
Dan O'Mearadd494642020-05-01 07:42:23 -07006066 # If Requests is omitted for a container, it defaults to Limits if that is
6067 # explicitly specified, otherwise to an implementation-defined value.
Bu Sun Kim65020912020-05-20 12:08:20 -07006068 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
Dan O'Mearadd494642020-05-01 07:42:23 -07006069 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Bu Sun Kim65020912020-05-20 12:08:20 -07006070 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006071 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006072 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
6073 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006074 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
Bu Sun Kim65020912020-05-20 12:08:20 -07006075 &quot;a_key&quot;: &quot;A String&quot;,
6076 },
6077 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
6078 # This is a temporary field created to migrate away from the
6079 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
6080 # with k8s style API.
6081 # This field is deprecated in favor of limits field.
6082 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
6083 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6084 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6085 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006086 },
6087 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006088 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
6089 # Container will be removed from service endpoints if the probe fails.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006090 # Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006091 # More info:
Bu Sun Kim65020912020-05-20 12:08:20 -07006092 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006093 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07006094 # determine whether it is alive or ready to receive traffic.
6095 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
6096 # having succeeded. Defaults to 3. Minimum value is 1. +optional
6097 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
6098 # are initiated. More info:
6099 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6100 # +optional
6101 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
6102 # Defaults to 1 second. Minimum value is 1.
6103 # More info:
6104 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6105 # +optional
6106 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6107 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
6108 # Exec specifies the action to take.
6109 # +optional
6110 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
6111 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
6112 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
6113 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
6114 # explicitly call out to that shell. Exit status of 0 is treated as
6115 # live/healthy and non-zero is unhealthy. +optional
6116 },
6117 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6118 # +optional
6119 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
6120 # +optional
6121 { # HTTPHeader describes a custom header to be used in HTTP probes
6122 &quot;value&quot;: &quot;A String&quot;, # The header field value
6123 &quot;name&quot;: &quot;A String&quot;, # The header field name
6124 },
6125 ],
6126 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
6127 # +optional
6128 &quot;port&quot;: { # 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.
6129 # Number must be in the range 1 to 65535.
6130 # Name must be an IANA_SVC_NAME.
6131 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6132 # inner type. This allows you to have, for example, a JSON field that can
6133 # accept a name or number.
6134 &quot;type&quot;: 42, # The type of the value.
6135 &quot;intVal&quot;: 42, # The int value.
6136 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6137 },
6138 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
6139 # &quot;Host&quot; in httpHeaders instead.
6140 # +optional
6141 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
6142 # Defaults to HTTP.
6143 # +optional
6144 },
6145 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6146 # TCP hooks not yet supported
6147 &quot;port&quot;: { # 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.
6148 # Number must be in the range 1 to 65535.
6149 # Name must be an IANA_SVC_NAME.
6150 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6151 # inner type. This allows you to have, for example, a JSON field that can
6152 # accept a name or number.
6153 &quot;type&quot;: 42, # The type of the value.
6154 &quot;intVal&quot;: 42, # The int value.
6155 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6156 },
6157 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
6158 # +optional
6159 },
6160 },
6161 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
6162 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
6163 # is 1. +optional
6164 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
6165 # Default to 10 seconds. Minimum value is 1.
6166 # +optional
6167 },
6168 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
6169 # One of Always, Never, IfNotPresent.
6170 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
6171 # Cannot be updated.
6172 # More info:
6173 # https://kubernetes.io/docs/concepts/containers/images#updating-images
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006174 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006175 },
6176 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07006177 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
6178 # metadata.generation instead, which is the sequence number containing the
6179 # latest generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006180 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006181 # Read-only.
Bu Sun Kim65020912020-05-20 12:08:20 -07006182 &quot;servingState&quot;: &quot;A String&quot;, # ServingState holds a value describing the state the resources
6183 # are in for this Revision.
6184 # Users must not specify this when creating a revision. It is expected
6185 # that the system will manipulate this based on routability and load.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006186 #
Bu Sun Kim65020912020-05-20 12:08:20 -07006187 # Populated by the system.
6188 # Read-only.
6189 &quot;concurrencyModel&quot;: &quot;A String&quot;, # ConcurrencyModel specifies the desired concurrency model
6190 # (Single or Multi) for the Revision. Defaults to Multi.
6191 # Deprecated in favor of ContainerConcurrency.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006192 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07006193 &quot;container&quot;: { # A single application container. # Container defines the unit of execution for this Revision.
6194 # In the context of a Revision, we disallow a number of the fields of
6195 # this Container, including: name, ports, and volumeMounts.
6196 # The runtime contract is documented here:
6197 # https://github.com/knative/serving/blob/master/docs/runtime-contract.md
6198 # This specifies both the container to run, the command to run in the container
6199 # and the arguments to supply to it.
6200 # Note that additional arguments may be supplied by the system to the container
6201 # at runtime.
6202 &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Optional: Path at which the file to which the container&#x27;s termination
6203 # message will be written is mounted into the container&#x27;s filesystem. Message
6204 # written is intended to be brief final status, such as an assertion failure
6205 # message. Will be truncated by the node if greater than 4096 bytes. The
6206 # total message length across all containers will be limited to 12kb.
6207 # Defaults to /dev/termination-log.
6208 # Cannot be updated.
6209 # +optional
6210 &quot;lifecycle&quot;: { # Lifecycle describes actions that the management system should take in # Actions that the management system should take in response to container
6211 # lifecycle events. Cannot be updated. +optional
6212 # response to container lifecycle events. For the PostStart and PreStop
6213 # lifecycle handlers, management of the container blocks until the action is
6214 # complete, unless the container process fails, in which case the handler is
6215 # aborted.
6216 &quot;preStop&quot;: { # Handler defines a specific action that should be taken # PreStop is called immediately before a container is terminated.
6217 # The container is terminated after the handler completes.
6218 # The reason for termination is passed to the handler.
6219 # Regardless of the outcome of the handler, the container is eventually
6220 # terminated. Other management of the container blocks until the hook
6221 # completes. More info:
6222 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
6223 # +optional
6224 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
6225 # Exec specifies the action to take.
6226 # +optional
6227 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
6228 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
6229 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
6230 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
6231 # explicitly call out to that shell. Exit status of 0 is treated as
6232 # live/healthy and non-zero is unhealthy. +optional
6233 },
6234 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6235 # +optional
6236 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
6237 # +optional
6238 { # HTTPHeader describes a custom header to be used in HTTP probes
6239 &quot;value&quot;: &quot;A String&quot;, # The header field value
6240 &quot;name&quot;: &quot;A String&quot;, # The header field name
6241 },
6242 ],
6243 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
6244 # +optional
6245 &quot;port&quot;: { # 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.
6246 # Number must be in the range 1 to 65535.
6247 # Name must be an IANA_SVC_NAME.
6248 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6249 # inner type. This allows you to have, for example, a JSON field that can
6250 # accept a name or number.
6251 &quot;type&quot;: 42, # The type of the value.
6252 &quot;intVal&quot;: 42, # The int value.
6253 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6254 },
6255 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
6256 # &quot;Host&quot; in httpHeaders instead.
6257 # +optional
6258 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
6259 # Defaults to HTTP.
6260 # +optional
6261 },
6262 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6263 # TCP hooks not yet supported
6264 &quot;port&quot;: { # 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.
6265 # Number must be in the range 1 to 65535.
6266 # Name must be an IANA_SVC_NAME.
6267 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6268 # inner type. This allows you to have, for example, a JSON field that can
6269 # accept a name or number.
6270 &quot;type&quot;: 42, # The type of the value.
6271 &quot;intVal&quot;: 42, # The int value.
6272 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6273 },
6274 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
6275 # +optional
6276 },
6277 },
6278 &quot;postStart&quot;: { # Handler defines a specific action that should be taken # PostStart is called immediately after a container is created. If the
6279 # handler fails, the container is terminated and restarted according to its
6280 # restart policy. Other management of the container blocks until the hook
6281 # completes. More info:
6282 # https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
6283 # +optional
6284 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
6285 # Exec specifies the action to take.
6286 # +optional
6287 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
6288 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
6289 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
6290 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
6291 # explicitly call out to that shell. Exit status of 0 is treated as
6292 # live/healthy and non-zero is unhealthy. +optional
6293 },
6294 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6295 # +optional
6296 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
6297 # +optional
6298 { # HTTPHeader describes a custom header to be used in HTTP probes
6299 &quot;value&quot;: &quot;A String&quot;, # The header field value
6300 &quot;name&quot;: &quot;A String&quot;, # The header field name
6301 },
6302 ],
6303 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
6304 # +optional
6305 &quot;port&quot;: { # 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.
6306 # Number must be in the range 1 to 65535.
6307 # Name must be an IANA_SVC_NAME.
6308 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6309 # inner type. This allows you to have, for example, a JSON field that can
6310 # accept a name or number.
6311 &quot;type&quot;: 42, # The type of the value.
6312 &quot;intVal&quot;: 42, # The int value.
6313 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6314 },
6315 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
6316 # &quot;Host&quot; in httpHeaders instead.
6317 # +optional
6318 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
6319 # Defaults to HTTP.
6320 # +optional
6321 },
6322 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6323 # TCP hooks not yet supported
6324 &quot;port&quot;: { # 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.
6325 # Number must be in the range 1 to 65535.
6326 # Name must be an IANA_SVC_NAME.
6327 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6328 # inner type. This allows you to have, for example, a JSON field that can
6329 # accept a name or number.
6330 &quot;type&quot;: 42, # The type of the value.
6331 &quot;intVal&quot;: 42, # The int value.
6332 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6333 },
6334 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
6335 # +optional
6336 },
6337 },
6338 },
6339 &quot;stdin&quot;: True or False, # Whether this container should allocate a buffer for stdin in the container
6340 # runtime. If this is not set, reads from stdin in the container will always
6341 # result in EOF. Default is false. +optional
6342 &quot;tty&quot;: True or False, # Whether this container should allocate a TTY for itself, also requires
6343 # &#x27;stdin&#x27; to be true. Default is false. +optional
6344 &quot;volumeMounts&quot;: [ # Pod volumes to mount into the container&#x27;s filesystem.
6345 # Cannot be updated.
6346 # +optional
6347 { # VolumeMount describes a mounting of a Volume within a container.
6348 &quot;readOnly&quot;: True or False, # Mounted read-only if true, read-write otherwise (false or unspecified).
6349 # Defaults to false.
6350 # +optional
6351 &quot;mountPropagation&quot;: &quot;A String&quot;, # mountPropagation determines how mounts are propagated from the host
6352 # to container and the other way around.
6353 # When not set, MountPropagationHostToContainer is used.
6354 # This field is beta in 1.10.
6355 # +optional
6356 &quot;mountPath&quot;: &quot;A String&quot;, # Path within the container at which the volume should be mounted. Must
6357 # not contain &#x27;:&#x27;.
6358 &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted.
6359 # Defaults to &quot;&quot; (volume&#x27;s root).
6360 # +optional
6361 &quot;name&quot;: &quot;A String&quot;, # This must match the Name of a Volume.
6362 },
6363 ],
6364 &quot;volumeDevices&quot;: [ # volumeDevices is the list of block devices to be used by the container.
6365 # This is an alpha feature and may change in the future.
6366 # +optional
6367 { # volumeDevice describes a mapping of a raw block device within a container.
6368 &quot;name&quot;: &quot;A String&quot;, # name must match the name of a persistentVolumeClaim in the pod
6369 &quot;devicePath&quot;: &quot;A String&quot;, # devicePath is the path inside of the container that the device will be
6370 # mapped to.
6371 },
6372 ],
6373 &quot;ports&quot;: [ # List of ports to expose from the container. Exposing a port here gives
6374 # the system additional information about the network connections a
6375 # container uses, but is primarily informational. Not specifying a port here
6376 # DOES NOT prevent that port from being exposed. Any port which is
6377 # listening on the default &quot;0.0.0.0&quot; address inside a container will be
6378 # accessible from the network.
6379 # Cannot be updated.
6380 # +optional
6381 { # ContainerPort represents a network port in a single container.
6382 &quot;hostPort&quot;: 42, # Number of port to expose on the host.
6383 # If specified, this must be a valid port number, 0 &lt; x &lt; 65536.
6384 # If HostNetwork is specified, this must match ContainerPort.
6385 # Most containers do not need this.
6386 # +optional
6387 &quot;containerPort&quot;: 42, # Number of port to expose on the pod&#x27;s IP address.
6388 # This must be a valid port number, 0 &lt; x &lt; 65536.
6389 &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be UDP or TCP.
6390 # Defaults to &quot;TCP&quot;.
6391 # +optional
6392 &quot;hostIP&quot;: &quot;A String&quot;, # What host IP to bind the external port to.
6393 # +optional
6394 &quot;name&quot;: &quot;A String&quot;, # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
6395 # named port in a pod must have a unique name. Name for the port that can be
6396 # referred to by services.
6397 # +optional
6398 },
6399 ],
6400 &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory.
6401 # If not specified, the container runtime&#x27;s default will be used, which
6402 # might be configured in the container image.
6403 # Cannot be updated.
6404 # +optional
6405 &quot;args&quot;: [ # Arguments to the entrypoint.
6406 # The docker image&#x27;s CMD is used if this is not provided.
6407 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
6408 # environment. If a variable cannot be resolved, the reference in the input
6409 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
6410 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
6411 # regardless of whether the variable exists or not.
6412 # Cannot be updated.
6413 # More info:
6414 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
6415 # +optional
6416 &quot;A String&quot;,
6417 ],
6418 &quot;stdinOnce&quot;: True or False, # Whether the container runtime should close the stdin channel after it has
6419 # been opened by a single attach. When stdin is true the stdin stream will
6420 # remain open across multiple attach sessions. If stdinOnce is set to true,
6421 # stdin is opened on container start, is empty until the first client
6422 # attaches to stdin, and then remains open and accepts data until the client
6423 # disconnects, at which time stdin is closed and remains closed until the
6424 # container is restarted. If this flag is false, a container processes that
6425 # reads from stdin will never receive an EOF. Default is false +optional
6426 &quot;envFrom&quot;: [ # List of sources to populate environment variables in the container.
6427 # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
6428 # will be reported as an event when the container is starting. When a key
6429 # exists in multiple sources, the value associated with the last source will
6430 # take precedence. Values defined by an Env with a duplicate key will take
6431 # precedence. Cannot be updated. +optional
6432 { # EnvFromSource represents the source of a set of ConfigMaps
6433 &quot;configMapRef&quot;: { # ConfigMapEnvSource selects a ConfigMap to populate the environment # The ConfigMap to select from
6434 # +optional
6435 # variables with.
6436 #
6437 # The contents of the target ConfigMap&#x27;s Data field will represent the
6438 # key-value pairs as environment variables.
6439 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6440 #
6441 # Cloud Run for Anthos: supported
6442 #
6443 # The ConfigMap to select from.
6444 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6445 # directly into the message. Use the &quot;name&quot; field instead.
6446 # referenced object inside the same namespace.
6447 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6448 # More info:
6449 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6450 },
6451 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
6452 #
6453 # Cloud Run for Anthos: supported
6454 #
6455 # Specify whether the ConfigMap must be defined
6456 # +optional
6457 },
6458 &quot;secretRef&quot;: { # SecretEnvSource selects a Secret to populate the environment # The Secret to select from
6459 # +optional
6460 # variables with.
6461 #
6462 # The contents of the target Secret&#x27;s Data field will represent the
6463 # key-value pairs as environment variables.
6464 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6465 # directly into the message. Use the &quot;name&quot; field instead.
6466 # referenced object inside the same namespace.
6467 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6468 # More info:
6469 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6470 },
6471 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
6472 #
6473 # Cloud Run for Anthos: supported
6474 #
6475 # Specify whether the Secret must be defined
6476 # +optional
6477 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6478 #
6479 # Cloud Run for Anthos: supported
6480 #
6481 # The Secret to select from.
6482 },
6483 &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a
6484 # C_IDENTIFIER. +optional
6485 },
6486 ],
6487 &quot;image&quot;: &quot;A String&quot;, # Docker image name.
6488 # More info: https://kubernetes.io/docs/concepts/containers/images
6489 &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL.
6490 # Each container must have a unique name (DNS_LABEL).
6491 # Cannot be updated.
6492 &quot;command&quot;: [ # Entrypoint array. Not executed within a shell.
6493 # The docker image&#x27;s ENTRYPOINT is used if this is not provided.
6494 # Variable references $(VAR_NAME) are expanded using the container&#x27;s
6495 # environment. If a variable cannot be resolved, the reference in the input
6496 # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
6497 # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
6498 # regardless of whether the variable exists or not.
6499 # Cannot be updated.
6500 # More info:
6501 # https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
6502 # +optional
6503 &quot;A String&quot;,
6504 ],
6505 &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the
6506 # contents of terminationMessagePath to populate the container status message
6507 # on both success and failure. FallbackToLogsOnError will use the last chunk
6508 # of container log output if the termination message file is empty and the
6509 # container exited with an error. The log output is limited to 2048 bytes or
6510 # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
6511 # +optional
6512 &quot;securityContext&quot;: { # SecurityContext holds security configuration that will be applied to a # Security options the pod should run with.
6513 # More info: https://kubernetes.io/docs/concepts/policy/security-context/
6514 # More info:
6515 # https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
6516 # +optional
6517 # container. Some fields are present in both SecurityContext and
6518 # PodSecurityContext. When both are set, the values in SecurityContext take
6519 # precedence.
6520 &quot;capabilities&quot;: { # Adds and removes POSIX capabilities from running containers. # The capabilities to add/drop when running containers.
6521 # Defaults to the default set of capabilities granted by the container
6522 # runtime. +optional
6523 &quot;add&quot;: [ # Added capabilities
6524 # +optional
6525 &quot;A String&quot;,
6526 ],
6527 &quot;drop&quot;: [ # Removed capabilities
6528 # +optional
6529 &quot;A String&quot;,
6530 ],
6531 },
6532 &quot;runAsNonRoot&quot;: True or False, # Indicates that the container must run as a non-root user.
6533 # If true, the Kubelet will validate the image at runtime to ensure that it
6534 # does not run as UID 0 (root) and fail to start the container if it does.
6535 # If unset or false, no such validation will be performed.
6536 # May also be set in PodSecurityContext. If set in both SecurityContext and
6537 # PodSecurityContext, the value specified in SecurityContext takes
6538 # precedence. +optional
6539 &quot;runAsGroup&quot;: 42, # The GID to run the entrypoint of the container process.
6540 # Uses runtime default if unset.
6541 # May also be set in PodSecurityContext. If set in both SecurityContext and
6542 # PodSecurityContext, the value specified in SecurityContext takes
6543 # precedence. +optional
6544 &quot;privileged&quot;: True or False, # Run container in privileged mode.
6545 # Processes in privileged containers are essentially equivalent to root on
6546 # the host. Defaults to false. +optional
6547 &quot;allowPrivilegeEscalation&quot;: True or False, # AllowPrivilegeEscalation controls whether a process can gain more
6548 # privileges than its parent process. This bool directly controls if
6549 # the no_new_privs flag will be set on the container process.
6550 # AllowPrivilegeEscalation is true always when the container is:
6551 # 1) run as Privileged
6552 # 2) has CAP_SYS_ADMIN
6553 # +optional
6554 &quot;seLinuxOptions&quot;: { # SELinuxOptions are the labels to be applied to the container # The SELinux context to be applied to the container.
6555 # If unspecified, the container runtime will allocate a random SELinux
6556 # context for each container. May also be set in PodSecurityContext. If set
6557 # in both SecurityContext and PodSecurityContext, the value specified in
6558 # SecurityContext takes precedence. +optional
6559 &quot;role&quot;: &quot;A String&quot;, # Role is a SELinux role label that applies to the container.
6560 # +optional
6561 &quot;level&quot;: &quot;A String&quot;, # Level is SELinux level label that applies to the container.
6562 # +optional
6563 &quot;user&quot;: &quot;A String&quot;, # User is a SELinux user label that applies to the container.
6564 # +optional
6565 &quot;type&quot;: &quot;A String&quot;, # Type is a SELinux type label that applies to the container.
6566 # +optional
6567 },
6568 &quot;readOnlyRootFilesystem&quot;: True or False, # Whether this container has a read-only root filesystem.
6569 # Default is false.
6570 # +optional
6571 &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process.
6572 # Defaults to user specified in image metadata if unspecified.
6573 # May also be set in PodSecurityContext. If set in both SecurityContext and
6574 # PodSecurityContext, the value specified in SecurityContext takes
6575 # precedence. +optional
6576 },
6577 &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container liveness.
6578 # Container will be restarted if the probe fails.
6579 # Cannot be updated.
6580 # More info:
6581 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6582 # +optional
6583 # determine whether it is alive or ready to receive traffic.
6584 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
6585 # having succeeded. Defaults to 3. Minimum value is 1. +optional
6586 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
6587 # are initiated. More info:
6588 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6589 # +optional
6590 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
6591 # Defaults to 1 second. Minimum value is 1.
6592 # More info:
6593 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6594 # +optional
6595 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6596 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
6597 # Exec specifies the action to take.
6598 # +optional
6599 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
6600 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
6601 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
6602 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
6603 # explicitly call out to that shell. Exit status of 0 is treated as
6604 # live/healthy and non-zero is unhealthy. +optional
6605 },
6606 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6607 # +optional
6608 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
6609 # +optional
6610 { # HTTPHeader describes a custom header to be used in HTTP probes
6611 &quot;value&quot;: &quot;A String&quot;, # The header field value
6612 &quot;name&quot;: &quot;A String&quot;, # The header field name
6613 },
6614 ],
6615 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
6616 # +optional
6617 &quot;port&quot;: { # 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.
6618 # Number must be in the range 1 to 65535.
6619 # Name must be an IANA_SVC_NAME.
6620 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6621 # inner type. This allows you to have, for example, a JSON field that can
6622 # accept a name or number.
6623 &quot;type&quot;: 42, # The type of the value.
6624 &quot;intVal&quot;: 42, # The int value.
6625 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6626 },
6627 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
6628 # &quot;Host&quot; in httpHeaders instead.
6629 # +optional
6630 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
6631 # Defaults to HTTP.
6632 # +optional
6633 },
6634 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6635 # TCP hooks not yet supported
6636 &quot;port&quot;: { # 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.
6637 # Number must be in the range 1 to 65535.
6638 # Name must be an IANA_SVC_NAME.
6639 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6640 # inner type. This allows you to have, for example, a JSON field that can
6641 # accept a name or number.
6642 &quot;type&quot;: 42, # The type of the value.
6643 &quot;intVal&quot;: 42, # The int value.
6644 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6645 },
6646 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
6647 # +optional
6648 },
6649 },
6650 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
6651 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
6652 # is 1. +optional
6653 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
6654 # Default to 10 seconds. Minimum value is 1.
6655 # +optional
6656 },
6657 &quot;env&quot;: [ # List of environment variables to set in the container.
6658 # Cannot be updated.
6659 # +optional
6660 { # EnvVar represents an environment variable present in a Container.
6661 &quot;value&quot;: &quot;A String&quot;, # Variable references $(VAR_NAME) are expanded
6662 # using the previous defined environment variables in the container and
6663 # any route environment variables. If a variable cannot be resolved,
6664 # the reference in the input string will be unchanged. The $(VAR_NAME)
6665 # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
6666 # references will never be expanded, regardless of whether the variable
6667 # exists or not.
6668 # Defaults to &quot;&quot;.
6669 # +optional
6670 &quot;name&quot;: &quot;A String&quot;, # Name of the environment variable. Must be a C_IDENTIFIER.
6671 &quot;valueFrom&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6672 #
6673 # Cloud Run on GKE: supported
6674 #
6675 # Source for the environment variable&#x27;s value. Cannot be used if value is not
6676 # empty. +optional
6677 #
6678 # Cloud Run on GKE: supported
6679 #
6680 # EnvVarSource represents a source for the value of an EnvVar.
6681 &quot;configMapKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6682 #
6683 # Cloud Run on GKE: supported
6684 #
6685 # Selects a key of a ConfigMap.
6686 # +optional
6687 #
6688 # Cloud Run on GKE: supported
6689 #
6690 # Selects a key from a ConfigMap.
6691 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
6692 #
6693 # Cloud Run on GKE: supported
6694 #
6695 # Specify whether the ConfigMap or its key must be defined
6696 # +optional
6697 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6698 #
6699 # Cloud Run on GKE: supported
6700 #
6701 # The key to select.
6702 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6703 #
6704 # Cloud Run on GKE: supported
6705 #
6706 # The ConfigMap to select from.
6707 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6708 # directly into the message. Use the &quot;name&quot; field instead.
6709 # referenced object inside the same namespace.
6710 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6711 # More info:
6712 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6713 },
6714 },
6715 &quot;secretKeyRef&quot;: { # Cloud Run fully managed: not supported # Cloud Run fully managed: not supported
6716 #
6717 # Cloud Run on GKE: supported
6718 #
6719 # Selects a key of a secret in the pod&#x27;s namespace
6720 # +optional
6721 #
6722 # Cloud Run on GKE: supported
6723 #
6724 # SecretKeySelector selects a key of a Secret.
6725 &quot;localObjectReference&quot;: { # LocalObjectReference contains enough information to let you locate the # This field should not be used directly as it is meant to be inlined
6726 # directly into the message. Use the &quot;name&quot; field instead.
6727 # referenced object inside the same namespace.
6728 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
6729 # More info:
6730 # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
6731 },
6732 &quot;optional&quot;: True or False, # Cloud Run fully managed: not supported
6733 #
6734 # Cloud Run on GKE: supported
6735 #
6736 # Specify whether the Secret or its key must be defined
6737 # +optional
6738 &quot;key&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6739 #
6740 # Cloud Run on GKE: supported
6741 #
6742 # The key of the secret to select from. Must be a valid secret key.
6743 &quot;name&quot;: &quot;A String&quot;, # Cloud Run fully managed: not supported
6744 #
6745 # Cloud Run on GKE: supported
6746 #
6747 # The name of the secret in the pod&#x27;s namespace to select from.
6748 },
6749 },
6750 },
6751 ],
6752 &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
6753 # Cannot be updated.
6754 # More info:
6755 # https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
6756 # +optional
6757 &quot;requestsInMap&quot;: { # Requests describes the minimum amount of compute resources required.
6758 # If Requests is omitted for a container, it defaults to Limits if that is
6759 # explicitly specified, otherwise to an implementation-defined value.
6760 # This is a temporary field created to migrate away from the
6761 # map&lt;string, Quantity&gt; requests field. This is done to become compliant
6762 # with k8s style API.
6763 # This field is deprecated in favor of requests field.
6764 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
6765 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6766 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6767 },
6768 },
6769 &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required.
6770 # If Requests is omitted for a container, it defaults to Limits if that is
6771 # explicitly specified, otherwise to an implementation-defined value.
6772 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
6773 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6774 &quot;a_key&quot;: &quot;A String&quot;,
6775 },
6776 &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed.
6777 # The values of the map is string form of the &#x27;quantity&#x27; k8s type:
6778 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
6779 &quot;a_key&quot;: &quot;A String&quot;,
6780 },
6781 &quot;limitsInMap&quot;: { # Limits describes the maximum amount of compute resources allowed.
6782 # This is a temporary field created to migrate away from the
6783 # map&lt;string, Quantity&gt; limits field. This is done to become compliant
6784 # with k8s style API.
6785 # This field is deprecated in favor of limits field.
6786 &quot;a_key&quot;: { # The view model of a single quantity, e.g. &quot;800 MiB&quot;. Corresponds to
6787 # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto
6788 &quot;string&quot;: &quot;A String&quot;, # Stringified version of the quantity, e.g., &quot;800 MiB&quot;.
6789 },
6790 },
6791 },
6792 &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to # Periodic probe of container service readiness.
6793 # Container will be removed from service endpoints if the probe fails.
6794 # Cannot be updated.
6795 # More info:
6796 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6797 # +optional
6798 # determine whether it is alive or ready to receive traffic.
6799 &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after
6800 # having succeeded. Defaults to 3. Minimum value is 1. +optional
6801 &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before liveness probes
6802 # are initiated. More info:
6803 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6804 # +optional
6805 &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out.
6806 # Defaults to 1 second. Minimum value is 1.
6807 # More info:
6808 # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
6809 # +optional
6810 &quot;handler&quot;: { # Handler defines a specific action that should be taken # The action taken to determine the health of a container
6811 &quot;exec&quot;: { # ExecAction describes a &quot;run in container&quot; action. # One and only one of the following should be specified.
6812 # Exec specifies the action to take.
6813 # +optional
6814 &quot;command&quot;: &quot;A String&quot;, # Command is the command line to execute inside the container, the working
6815 # directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The
6816 # command is simply exec&#x27;d, it is not run inside a shell, so traditional
6817 # shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to
6818 # explicitly call out to that shell. Exit status of 0 is treated as
6819 # live/healthy and non-zero is unhealthy. +optional
6820 },
6821 &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
6822 # +optional
6823 &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
6824 # +optional
6825 { # HTTPHeader describes a custom header to be used in HTTP probes
6826 &quot;value&quot;: &quot;A String&quot;, # The header field value
6827 &quot;name&quot;: &quot;A String&quot;, # The header field name
6828 },
6829 ],
6830 &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
6831 # +optional
6832 &quot;port&quot;: { # 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.
6833 # Number must be in the range 1 to 65535.
6834 # Name must be an IANA_SVC_NAME.
6835 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6836 # inner type. This allows you to have, for example, a JSON field that can
6837 # accept a name or number.
6838 &quot;type&quot;: 42, # The type of the value.
6839 &quot;intVal&quot;: 42, # The int value.
6840 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6841 },
6842 &quot;host&quot;: &quot;A String&quot;, # Host name to connect to, defaults to the pod IP. You probably want to set
6843 # &quot;Host&quot; in httpHeaders instead.
6844 # +optional
6845 &quot;scheme&quot;: &quot;A String&quot;, # Scheme to use for connecting to the host.
6846 # Defaults to HTTP.
6847 # +optional
6848 },
6849 &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
6850 # TCP hooks not yet supported
6851 &quot;port&quot;: { # 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.
6852 # Number must be in the range 1 to 65535.
6853 # Name must be an IANA_SVC_NAME.
6854 # JSON or YAML marshalling and unmarshalling, it produces or consumes the
6855 # inner type. This allows you to have, for example, a JSON field that can
6856 # accept a name or number.
6857 &quot;type&quot;: 42, # The type of the value.
6858 &quot;intVal&quot;: 42, # The int value.
6859 &quot;strVal&quot;: &quot;A String&quot;, # The string value.
6860 },
6861 &quot;host&quot;: &quot;A String&quot;, # Optional: Host name to connect to, defaults to the pod IP.
6862 # +optional
6863 },
6864 },
6865 &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful
6866 # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
6867 # is 1. +optional
6868 &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe.
6869 # Default to 10 seconds. Minimum value is 1.
6870 # +optional
6871 },
6872 &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy.
6873 # One of Always, Never, IfNotPresent.
6874 # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
6875 # Cannot be updated.
6876 # More info:
6877 # https://kubernetes.io/docs/concepts/containers/images#updating-images
6878 # +optional
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006879 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006880 &quot;timeoutSeconds&quot;: 42, # TimeoutSeconds holds the max duration the instance is allowed for
6881 # responding to a request.
6882 # Not currently used by Cloud Run.
6883 &quot;volumes&quot;: [
6884 { # Volume represents a named volume in a container.
6885 &quot;configMap&quot;: { # Adapts a ConfigMap into a volume.
6886 # The contents of the target ConfigMap&#x27;s Data field will be presented in a
6887 # volume as files using the keys in the Data field as the file names, unless
6888 # the items element is populated with specific mappings of keys to paths.
6889 &quot;name&quot;: &quot;A String&quot;, # Name of the config.
6890 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
6891 # 0777. Defaults to 0644. Directories within the path are not affected by
6892 # this setting. This might be in conflict with other options that affect the
6893 # file mode, like fsGroup, and the result can be other mode bits set.
6894 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
6895 # Secret will be projected into the volume as a file whose name is the
6896 # key and content is the value. If specified, the listed keys will be
6897 # projected into the specified paths, and unlisted keys will not be
6898 # present. If a key is specified which is not present in the Secret,
6899 # the volume setup will error unless it is marked optional.
6900 { # Maps a string key to a path within a volume.
6901 &quot;key&quot;: &quot;A String&quot;, # The key to project.
6902 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
6903 # May not be an absolute path.
6904 # May not contain the path element &#x27;..&#x27;.
6905 # May not start with the string &#x27;..&#x27;.
6906 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
6907 # specified, the volume defaultMode will be used. This might be in conflict
6908 # with other options that affect the file mode, like fsGroup, and the result
6909 # can be other mode bits set. +optional
6910 },
6911 ],
6912 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6913 },
6914 &quot;name&quot;: &quot;A String&quot;, # Volume&#x27;s name.
6915 &quot;secret&quot;: { # The contents of the target Secret&#x27;s Data field will be presented in a volume
6916 # as files using the keys in the Data field as the file names.
6917 &quot;optional&quot;: True or False, # Specify whether the Secret or its keys must be defined.
6918 &quot;defaultMode&quot;: 42, # Mode bits to use on created files by default. Must be a value between 0 and
6919 # 0777. Defaults to 0644. Directories within the path are not affected by
6920 # this setting. This might be in conflict with other options that affect the
6921 # file mode, like fsGroup, and the result can be other mode bits set.
6922 &quot;secretName&quot;: &quot;A String&quot;, # Name of the secret in the container&#x27;s namespace to use.
6923 &quot;items&quot;: [ # If unspecified, each key-value pair in the Data field of the referenced
6924 # Secret will be projected into the volume as a file whose name is the
6925 # key and content is the value. If specified, the listed keys will be
6926 # projected into the specified paths, and unlisted keys will not be
6927 # present. If a key is specified which is not present in the Secret,
6928 # the volume setup will error unless it is marked optional.
6929 { # Maps a string key to a path within a volume.
6930 &quot;key&quot;: &quot;A String&quot;, # The key to project.
6931 &quot;path&quot;: &quot;A String&quot;, # The relative path of the file to map the key to.
6932 # May not be an absolute path.
6933 # May not contain the path element &#x27;..&#x27;.
6934 # May not start with the string &#x27;..&#x27;.
6935 &quot;mode&quot;: 42, # Mode bits to use on this file, must be a value between 0 and 0777. If not
6936 # specified, the volume defaultMode will be used. This might be in conflict
6937 # with other options that affect the file mode, like fsGroup, and the result
6938 # can be other mode bits set. +optional
6939 },
6940 ],
6941 },
6942 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006943 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006944 },
6945 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006946 &quot;generation&quot;: 42, # Deprecated and not currently populated by Cloud Run. See
6947 # metadata.generation instead, which is the sequence number containing the
6948 # latest generation of the desired state.
6949 #
6950 # Read-only.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006951 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006952 &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
6953 &quot;metadata&quot;: { # ObjectMeta is metadata that all persisted resources must have, which includes # Metadata associated with this Configuration, including name, namespace,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006954 # labels, and annotations.
6955 # all objects users must create.
Bu Sun Kim65020912020-05-20 12:08:20 -07006956 &quot;annotations&quot;: { # Annotations is an unstructured key value map stored with a resource that
6957 # may be set by external tools to store and retrieve arbitrary metadata. They
6958 # are not queryable and should be preserved when modifying objects. More
6959 # info: http://kubernetes.io/docs/user-guide/annotations +optional
6960 &quot;a_key&quot;: &quot;A String&quot;,
6961 },
6962 &quot;generateName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
6963 #
6964 # GenerateName is an optional prefix, used by the server, to generate a
6965 # unique name ONLY IF the Name field has not been provided. If this field is
6966 # used, the name returned to the client will be different than the name
6967 # passed. This value will also be combined with a unique suffix. The provided
6968 # value has the same validation rules as the Name field, and may be truncated
6969 # by the length of the suffix required to make the value unique on the
6970 # server.
6971 #
6972 # If this field is specified and the generated name exists, the server will
6973 # NOT return a 409 - instead, it will either return 201 Created or 500 with
6974 # Reason ServerTimeout indicating a unique name could not be found in the
6975 # time allotted, and the client should retry (optionally after the time
6976 # indicated in the Retry-After header).
6977 #
6978 # Applied only if Name is not specified.
6979 # More info:
6980 # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006981 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07006982 # string generateName = 2;
6983 &quot;name&quot;: &quot;A String&quot;, # Name must be unique within a namespace, within a Cloud Run region.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006984 # Is required when creating
6985 # resources, although some resources may allow a client to request the
6986 # generation of an appropriate name automatically. Name is primarily intended
6987 # for creation idempotence and configuration definition. Cannot be updated.
6988 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
6989 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07006990 &quot;clusterName&quot;: &quot;A String&quot;, # Not currently supported by Cloud Run.
6991 #
6992 # The name of the cluster which the object belongs to.
6993 # This is used to distinguish resources with same name and namespace in
6994 # different clusters. This field is not set anywhere right now and apiserver
6995 # is going to ignore it if set in create or update request. +optional
6996 &quot;deletionGracePeriodSeconds&quot;: 42, # Not currently supported by Cloud Run.
6997 #
6998 # Number of seconds allowed for this object to gracefully terminate before
6999 # it will be removed from the system. Only set when deletionTimestamp is also
7000 # set. May only be shortened. Read-only. +optional
7001 &quot;finalizers&quot;: [ # Not currently supported by Cloud Run.
7002 #
7003 # Must be empty before the object is deleted from the registry. Each entry
7004 # is an identifier for the responsible component that will remove the entry
7005 # from the list. If the deletionTimestamp of the object is non-nil, entries
7006 # in this list can only be removed.
7007 # +optional
7008 # +patchStrategy=merge
7009 &quot;A String&quot;,
7010 ],
7011 &quot;deletionTimestamp&quot;: &quot;A String&quot;, # DeletionTimestamp is RFC 3339 date and time at which this resource will be
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007012 # deleted. This field is set by the server when a graceful deletion is
7013 # requested by the user, and is not directly settable by a client. The
7014 # resource is expected to be deleted (no longer visible from resource lists,
7015 # and not reachable by name) after the time in this field, once the
7016 # finalizers list is empty. As long as the finalizers list contains items,
7017 # deletion is blocked. Once the deletionTimestamp is set, this value may not
7018 # be unset or be set further into the future, although it may be shortened or
7019 # the resource may be deleted prior to this time. For example, a user may
7020 # request that a pod is deleted in 30 seconds. The Kubelet will react by
7021 # sending a graceful termination signal to the containers in the pod. After
7022 # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
7023 # to the container and after cleanup, remove the pod from the API. In the
7024 # presence of network partitions, this object may still exist after this
7025 # timestamp, until an administrator or automated process can determine the
7026 # resource is fully terminated.
7027 # If not set, graceful deletion of the object has not been requested.
7028 #
7029 # Populated by the system when a graceful deletion is requested.
7030 # Read-only.
7031 # More info:
7032 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
7033 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07007034 &quot;ownerReferences&quot;: [ # List of objects that own this object. If ALL objects in the list have
7035 # been deleted, this object will be garbage collected.
7036 # +optional
7037 { # OwnerReference contains enough information to let you identify an owning
7038 # object. Currently, an owning object must be in the same namespace, so there
7039 # is no namespace field.
7040 &quot;apiVersion&quot;: &quot;A String&quot;, # API version of the referent.
7041 &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
7042 # More info: http://kubernetes.io/docs/user-guide/identifiers#names
7043 &quot;uid&quot;: &quot;A String&quot;, # UID of the referent.
7044 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
7045 &quot;controller&quot;: True or False, # If true, this reference points to the managing controller.
7046 # +optional
7047 &quot;kind&quot;: &quot;A String&quot;, # Kind of the referent.
7048 # More info:
7049 # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
7050 &quot;blockOwnerDeletion&quot;: True or False, # If true, AND if the owner has the &quot;foregroundDeletion&quot; finalizer, then
7051 # the owner cannot be deleted from the key-value store until this
7052 # reference is removed.
7053 # Defaults to false.
7054 # To set this field, a user needs &quot;delete&quot; permission of the owner,
7055 # otherwise 422 (Unprocessable Entity) will be returned.
7056 # +optional
7057 },
7058 ],
7059 &quot;creationTimestamp&quot;: &quot;A String&quot;, # CreationTimestamp is a timestamp representing the server time when this
7060 # object was created. It is not guaranteed to be set in happens-before order
7061 # across separate operations. Clients may not set this value. It is
7062 # represented in RFC3339 form and is in UTC.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007063 #
Bu Sun Kim65020912020-05-20 12:08:20 -07007064 # Populated by the system.
7065 # Read-only.
7066 # Null for lists.
7067 # More info:
7068 # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
7069 # +optional
7070 &quot;labels&quot;: { # Map of string keys and values that can be used to organize and categorize
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007071 # (scope and select) objects. May match selectors of replication controllers
7072 # and routes.
7073 # More info: http://kubernetes.io/docs/user-guide/labels
7074 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07007075 &quot;a_key&quot;: &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007076 },
Bu Sun Kim65020912020-05-20 12:08:20 -07007077 &quot;generation&quot;: 42, # A sequence number representing a specific generation of the desired state.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007078 # Populated by the system. Read-only.
7079 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07007080 &quot;resourceVersion&quot;: &quot;A String&quot;, # An opaque value that represents the internal version of this object that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007081 # can be used by clients to determine when objects have changed. May be used
7082 # for optimistic concurrency, change detection, and the watch operation on a
7083 # resource or set of resources. Clients must treat these values as opaque and
7084 # passed unmodified back to the server. They may only be valid for a
7085 # particular resource or set of resources.
7086 #
7087 # Populated by the system.
7088 # Read-only.
7089 # Value must be treated as opaque by clients and .
7090 # More info:
7091 # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
7092 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07007093 &quot;uid&quot;: &quot;A String&quot;, # UID is the unique in time and space value for this object. It is typically
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007094 # generated by the server on successful creation of a resource and is not
7095 # allowed to change on PUT operations.
7096 #
7097 # Populated by the system.
7098 # Read-only.
7099 # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
7100 # +optional
Bu Sun Kim65020912020-05-20 12:08:20 -07007101 &quot;selfLink&quot;: &quot;A String&quot;, # SelfLink is a URL representing this object.
7102 # Populated by the system.
7103 # Read-only.
7104 # +optional
7105 # string selfLink = 4;
7106 &quot;namespace&quot;: &quot;A String&quot;, # Namespace defines the space within each name must be unique, within a
7107 # Cloud Run region. In Cloud Run the namespace must be equal to either the
7108 # project ID or project number.
7109 },
7110 &quot;status&quot;: { # ConfigurationStatus communicates the observed state of the Configuration # Status communicates the observed state of the Configuration (from the
7111 # controller).
7112 # (from the controller).
7113 &quot;conditions&quot;: [ # Conditions communicates information about ongoing/complete
7114 # reconciliation processes that bring the &quot;spec&quot; inline with the observed
7115 # state of the world.
7116 { # ConfigurationCondition defines a readiness condition for a Configuration.
7117 &quot;message&quot;: &quot;A String&quot;, # Human-readable message indicating details about last transition.
7118 # +optional
7119 &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Last time the condition transitioned from one status to another.
7120 # +optional
7121 &quot;status&quot;: &quot;A String&quot;, # Status of the condition, one of True, False, Unknown.
7122 &quot;severity&quot;: &quot;A String&quot;, # How to interpret failures of this condition, one of Error, Warning, Info
7123 # +optional
7124 &quot;reason&quot;: &quot;A String&quot;, # One-word CamelCase reason for the condition&#x27;s last transition.
7125 # +optional
7126 &quot;type&quot;: &quot;A String&quot;, # ConfigurationConditionType is used to communicate the status of the
7127 # reconciliation process. See also:
7128 # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
7129 # Types include:&quot;Ready&quot;
7130 },
7131 ],
7132 &quot;observedGeneration&quot;: 42, # ObservedGeneration is the &#x27;Generation&#x27; of the Configuration that
7133 # was last processed by the controller. The observed generation is updated
7134 # even if the controller failed to process the spec and create the Revision.
7135 #
7136 # Clients polling for completed reconciliation should poll until
7137 # observedGeneration = metadata.generation, and the Ready condition&#x27;s status
7138 # is True or False.
7139 &quot;latestCreatedRevisionName&quot;: &quot;A String&quot;, # LatestCreatedRevisionName is the last revision that was created from this
7140 # Configuration. It might not be ready yet, for that use
7141 # LatestReadyRevisionName.
7142 &quot;latestReadyRevisionName&quot;: &quot;A String&quot;, # LatestReadyRevisionName holds the name of the latest Revision stamped out
7143 # from this Configuration that has had its &quot;Ready&quot; condition become &quot;True&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007144 },
7145 },
7146 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07007147 &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1alpha1&quot;.
7148 &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;ConfigurationList&quot;.
7149 &quot;unreachable&quot;: [ # Locations that could not be reached.
7150 &quot;A String&quot;,
7151 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07007152 }</pre>
7153</div>
7154
7155</body></html>